【问题标题】:React-native android project with many error: Could not find class 'android.XXX'React-native android 项目有很多错误:找不到类'android.XXX'
【发布时间】:2019-12-21 13:05:13
【问题描述】:

我有一个 react-native 项目,它应该支持 16 的最低 SDK 版本并且是 androidX,但我使用 android studio logcat 得到这些错误:

 E/dalvikvm: Could not find class 'android.os.UserManager', referenced from method androidx.core.os.UserManagerCompat.isUserUnlocked
 12-21 16:19:25.003 12695-12695/? E/dalvikvm: Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.wrappers.PackageManagerWrapper.zzb
 12-21 16:19:25.153 12695-12719/? E/dalvikvm: Could not find class 'android.app.AppOpsManager', referenced from method androidx.core.app.AppOpsManagerCompat.noteOp
 12-21 16:19:25.153 12695-12719/? E/dalvikvm: Could not find class 'android.app.AppOpsManager', referenced from method androidx.core.app.AppOpsManagerCompat.noteOpNoThrow
 12-21 16:19:25.153 12695-12719/? E/dalvikvm: Could not find class 'android.app.AppOpsManager', referenced from method androidx.core.app.AppOpsManagerCompat.noteProxyOp
 12-21 16:19:25.153 12695-12719/? E/dalvikvm: Could not find class 'android.app.AppOpsManager', referenced from method androidx.core.app.AppOpsManagerCompat.noteProxyOpNoThrow
 12-21 16:19:25.213 12695-12695/? E/dalvikvm: Could not find class 'com.crashlytics.android.ndk.CrashlyticsNdk', referenced from method com.crashlytics.android.CrashlyticsInitProvider.createCrashlyticsKits
 12-21 16:19:25.464 12695-12735/com.myProject.demo E/dalvikvm: Could not find class 'android.os.UserManager', referenced from method com.google.android.gms.common.GooglePlayServicesUtilLight.isRestrictedUserProfile
 12-21 16:19:25.884 12695-12735/com.myProject.demo E/Fabric: Settings request failed.
 12-21 16:19:25.894 12695-12736/com.myProject.demo E/Answers: Failed to retrieve settings

我搜索了很多,我发现唯一相关的是this,这并没有解决我的问题。

我不知道这是否有帮助,这些是我的 app/build.gradle 中的依赖项。也许其中之一或与 API 版本 16 不兼容

// Firebase dependencies
implementation "com.google.android.gms:play-services-base:17.1.0"
implementation 'com.google.firebase:firebase-analytics:17.2.1'
implementation "com.google.firebase:firebase-core:17.2.1"
implementation "com.google.firebase:firebase-config:19.0.4"
implementation 'com.google.firebase:firebase-perf:19.0.3'
implementation "com.google.firebase:firebase-messaging:20.1.0"
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'

// Android X
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha03'
implementation 'androidx.multidex:multidex:2.0.1'

【问题讨论】:

    标签: android react-native versioning


    【解决方案1】:

    在SDK 17版本中添加了UserManager,所以找不到。详情请见link

    如果你想使用它,你必须在android原生添加支持库。 com.android.support:support-compat:28.0.0-alpha1 有。

    如果你已经添加了 androidX 库,你应该将类更改为UserManagerCompat。详情可以进入这个link 它位于androidX.core。在android/app/build.gradle添加以下内容

    def core_role_version = "1.0.0-alpha01"
    implementation "androidx.core:core-role:$core_role_version"
    

    【讨论】:

    • 谢谢,我没有使用 UserManager,也不知道我的哪个库在使用它。你的意思是我需要添加“com.android.support:support-compat:28.0.0-alpha1”吗?在哪里?
    • 我试过了,但这不适用于 react-native-screens,还有其他版本支持 userManager 吗?
    • 我有,没有区别!
    • @Niloufar,用于com.google.android.gms。不反应原生屏幕
    • 谢谢 Lenoarod 我也试过这个解决方案。但仍然存在相同的错误,并且没有在 android 4.1 上运行
    猜你喜欢
    • 2016-10-26
    • 2022-08-21
    • 2019-08-12
    • 2022-07-08
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 2016-12-31
    • 2023-01-30
    相关资源
    最近更新 更多