我已按照文档步骤将我的应用迁移到了androidx。我没有更改我的应用程序代码,仅更改了导入和迁移所需的类。播放控制台显示以下错误:
java.lang.RuntimeException:
at android.app.ActivityThread.handleReceiver (ActivityThread.java:3567)
at android.app.ActivityThread.access$1300 (ActivityThread.java:236)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1795)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:214)
at android.app.ActivityThread.main (ActivityThread.java:7032)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:965)
Caused by: java.lang.ClassNotFoundException:
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass (ClassLoader.java:379)
at java.lang.ClassLoader.loadClass (ClassLoader.java:312)
at android.app.AppComponentFactory.instantiateReceiver (AppComponentFactory.java:84)
at androidx.core.app.CoreComponentFactory.instantiateReceiver (CoreComponentFactory.java)
at android.app.ActivityThread.handleReceiver (ActivityThread.java:3560)
at android.app.ActivityThread.access$1300 (ActivityThread.java:236)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1795)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:214)
at android.app.ActivityThread.main (ActivityThread.java:7032)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:965)
此错误在Android 9设备上发生。在更新之前,显示了任何错误。
我已经检查了代码,使缓存无效并重新启动,关闭了Instant Run并安装了最新的android更新,但是不幸的是,由于android emulator,android 8和9物理设备均未显示错误,因此我只有play提供的信息控制台,错误仍然存在。
这是我的build.grade
compileSdkVersion 28
buildToolsVersion '28.0.3'
defaultConfig {
applicationId "es.mtoh.recetasmonsieurcuisine"
minSdkVersion 16
targetSdkVersion 28
versionCode 4
versionName '1.0.4'
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
// useProguard false // <-- disable proguard
debuggable false
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
implementation 'androidx.browser:browser:1.0.0'
implementation 'com.google.android.material:material:1.1.0-alpha07'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.fragment:fragment:1.2.0-alpha01'
implementation 'androidx.recyclerview:recyclerview:1.1.0-beta01'
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'androidx.annotation:annotation:1.1.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
implementation 'com.google.android.gms:play-services-ads:18.0.0'
implementation 'androidx.drawerlayout:drawerlayout:1.0.0'
implementation 'androidx.viewpager:viewpager:1.0.0'
implementation 'androidx.core:core:1.0.2'
有什么建议吗?
我正在考虑恢复迁移。
答案 0 :(得分:0)
我有同样的问题。如果您使用的是AdMob,请参见其更新的实施说明: https://developers.google.com/admob/android/quick-start#example_app-level_buildgradle_excerpt
将Admob 18.0.0与AndroidX配合使用时,您必须在build.gradle中添加以下两行:
com.google.android.gms:play-services-measurement:17.0.0
com.google.android.gms:play-services-measurement-sdk:17.0.0