Java 将targetSdkVersion提高到28时,没有';“找不到类”;com.google.android.gms.common.R$string“;在路径上:DexPathList

Java 将targetSdkVersion提高到28时,没有';“找不到类”;com.google.android.gms.common.R$string“;在路径上:DexPathList,java,android,gradle,classnotfoundexception,dex,Java,Android,Gradle,Classnotfoundexception,Dex,当我尝试将我的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.andro

当我尝试将我的
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) 
我已经尝试将firebase依赖项更新到最新版本(需要将MinSDK版本从15更新到16),但没有效果(我不确定这是否是一个可行的选择,因为我似乎记得我的同事说过,如果我将这些版本设置得太高,条形码扫描将不受支持)。更新所有依赖项会导致应用程序崩溃,没有错误,我还没有弄清楚应该归咎于哪些依赖项;我决定尽可能多地关注这个问题,而不是无缘无故地招惹更多的麻烦。我尝试了几种不同的方法来启用multidex,正如我在某处看到的那样;他们似乎都帮不了忙。我也尝试过一些其他的东西,但是没有任何效果


如果能帮助解决此错误,我将不胜感激,因为在升级到28之前,我无法更新Play Store中的应用程序。

如问题下方的评论所述,问题变成将Gradle提高到3.6.0以上,而不是提高targetSdkVersion。但格雷德尔有什么问题

这个答案让我更新了Firebase和ObjectBox的版本,我认为这是以前做过的,但显然不是。但这导致了一个问题,
类型androidx.appcompat.resources.R$attr被多次定义
,它拒绝清理、重建和使缓存无效。这件事终于被警方澄清了

但还有一个问题需要解决:
只有从android O开始才支持调用自定义。我仍然不知道这意味着什么,但是

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

正如建议的那样,在我的build.gradle中,我似乎已经克服了这一点。

我可以知道当targetSdkVersion=29时,你得到了什么stacktrace吗。@Josepraven,如果我将它提高到29,堆栈跟踪看起来是一样的,除了我在试图找到解决方案时更改的一些版本号。它太大了,无法放在评论中,但如果你想确认它与你自己的完全相同,我可以将它添加到原始问题中。我希望你在play store中更新应用程序,最好尝试API级别29并添加stacktrace。阅读此最低@Josepraven,这就是问题所在,我无法在play store中更新应用程序,因为我无法将应用程序更新为28。因此,我决定回滚到27,以便我可以尝试在targetSdkVersion处于工作状态时更新所有依赖项,现在我在27中不断遇到相同的问题。我想从现在开始,我会努力让它在29分钟内工作。这快把我逼疯了。
android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}