[当我尝试将targetSdkVersion
从27更新到28时,出现错误:
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.baus_systems.inventorycount, PID: 2594 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/R$string; at com.google.android.gms.common.internal.StringResourceValueReader.<init>(Unknown Source:4) at com.google.firebase.FirebaseOptions.fromResource(com.google.firebase:firebase-common@@19.0.0:156) at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@19.0.0:240) at com.google.firebase.provider.FirebaseInitProvider.onCreate(com.google.firebase:firebase-common@@19.0.0:51) at android.content.ContentProvider.attachInfo(ContentProvider.java:1922) at android.content.ContentProvider.attachInfo(ContentProvider.java:1897) at com.google.firebase.provider.FirebaseInitProvider.attachInfo(com.google.firebase:firebase-common@@19.0.0:45) at android.app.ActivityThread.installProvider(ActivityThread.java:6708) at android.app.ActivityThread.installContentProviders(ActivityThread.java:6255) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6151) at android.app.ActivityThread.access$1100(ActivityThread.java:208) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:205) at android.app.ActivityThread.main(ActivityThread.java:6991) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:884) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.R$string" on path: DexPathList[[zip file "/data/app/com.baus_systems.inventorycount-y-SEoNnBinme-b9ebwn0xg==/base.apk"],nativeLibraryDirectories=[/data/app/com.baus_systems.inventorycount-y-SEoNnBinme-b9ebwn0xg==/lib/arm, /data/app/com.baus_systems.inventorycount-y-SEoNnBinme-b9ebwn0xg==/base.apk!/lib/armeabi-v7a, /system/lib, /product/lib]] 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 com.google.android.gms.common.internal.StringResourceValueReader.<init>(Unknown Source:4) at com.google.firebase.FirebaseOptions.fromResource(com.google.firebase:firebase-common@@19.0.0:156) at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@19.0.0:240) at com.google.firebase.provider.FirebaseInitProvider.onCreate(com.google.firebase:firebase-common@@19.0.0:51) at android.content.ContentProvider.attachInfo(ContentProvider.java:1922) at android.content.ContentProvider.attachInfo(ContentProvider.java:1897) at com.google.firebase.provider.FirebaseInitProvider.attachInfo(com.google.firebase:firebase-common@@19.0.0:45) at android.app.ActivityThread.installProvider(ActivityThread.java:6708) at android.app.ActivityThread.installContentProviders(ActivityThread.java:6255) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6151) at android.app.ActivityThread.access$1100(ActivityThread.java:208) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:205) at android.app.ActivityThread.main(ActivityThread.java:6991) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:884)
这是我的build.gradle的依赖项部分:
dependencies { def lifecycle_version = "1.1.1" // def multidex_version = "2.0.1" // implementation 'androidx.multidex:multidex:2.0.1' implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.recyclerview:recyclerview:1.0.0' implementation 'androidx.annotation:annotation:1.0.2' androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', { exclude group: 'com.android.support', module: 'support-annotations' }) implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'com.google.android.material:material:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.vectordrawable:vectordrawable:1.0.1' testImplementation 'junit:junit:4.12' implementation('androidx.constraintlayout:constraintlayout:1.1.3') implementation 'androidx.recyclerview:recyclerview:1.0.0' implementation 'androidx.lifecycle:lifecycle-viewmodel:2.0.0' implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0' implementation 'com.google.firebase:firebase-ml-vision:18.0.2' implementation 'com.google.firebase:firebase-ml-vision-image-label-model:17.0.2' implementation 'com.google.firebase:firebase-ml-model-interpreter:16.2.4' implementation 'com.drewnoakes:metadata-extractor:2.11.0' // AWS Mobile Client implementation('com.amazonaws:aws-android-sdk-mobile-client:2.6.+@aar') { transitive = true } // AWS Core implementation('com.amazonaws:aws-android-sdk-core:2.3.+') // AWS S3 implementation('com.amazonaws:aws-android-sdk-s3:2.3.+') // AWS Cognito implementation('com.amazonaws:aws-android-sdk-cognitoidentityprovider:2.3.+') implementation 'com.amazonaws:aws-android-sdk-cognitoauth:2.4.7@aar' //AWS Lambda implementation('com.amazonaws:aws-android-sdk-lambda:2.2.+') implementation project(':plugin') }
我曾尝试将firebase依赖项更新到最新版本(需要将minSdkVersion从15更新到16),但没有任何效果(而且我不确定这是否可行,因为我似乎记得我的同事如果我将这些版本过高,则说明不支持条形码扫描。更新所有依赖关系不会导致应用程序崩溃,并且没有错误,而且我还没有弄清楚应该归咎于那些依赖关系。我决定我将尽可能专注于此问题,而不是无缘无故地招来更多麻烦。我尝试了几种不同的方式来启用Multidex,正如我在某处看到的那样。他们似乎都没有帮助。我还尝试了其他一些操作,并且丢失了页面,但是我尝试过的任何方法都没有帮助。
将提供任何解决此错误的帮助,因为只有在升级到28后才能在Play商店中更新该应用。
[当我尝试将我的targetSdkVersion从27更新到28时,出现错误:E / AndroidRuntime:致命例外:主进程:com.baus_systems.inventorycount,PID:2594 java.lang.NoClassDefFoundError:...
如在对该问题的评论中提到的那样,问题变成使Gradle超过3.6.0,而不是提高targetSdkVersion。但是Gradle出了什么问题?
This答案使我更新了Firebase和ObjectBox版本,我认为以前已经完成了,但是显然没有。但是,这导致了一个问题Type androidx.appcompat.resources.R$attr is defined multiple times
,该问题拒绝清除,重建和使缓存无效。最终由deleting the .gradle folder and Cleaning and Rebuilding清除了。