如何解决NoClassDefFoundError问题:无法解决以下问题:Android上的Lcom / google / android / gms / common / R $ string

如何解决如何解决NoClassDefFoundError问题:无法解决以下问题:Android上的Lcom / google / android / gms / common / R $ string

最近,我遇到一个问题,我一周都无法解决,请阅读不同的建议。但是,没有任何帮助。

因此,问题出在升级后出现的 NoClassDefFoundError 中:

  1. 从5.x到6.x的分级包装器
  2. Gradle Build Tool
  3. Firebase依赖关系(实际上带来了我遇到问题的这些类)

我已经尝试解决的问题:

  1. 试图降级Firbase库(我只有核心,广告和分析功能)
  2. 试图禁用传递性 basemenet 依赖
  3. 试图应用 BOM 来同步依赖项
  4. 试图升级/降级android build插件
  5. 试图找到现有的绿色版本的问题,但看起来不错

这是我的 build.gradle 文件中的依赖项:


dependencies {

    implementation "com.jakewharton.timber:timber:$timberVersion"

    //Reactive
    implementation group: 'io.reactivex.rxjava2',name: 'rxjava',version: rxJavaVersion
    implementation group: 'io.reactivex.rxjava2',name: 'rxandroid',version: androidRxJavaVersion

    // Firebase dependencies
    implementation platform("com.google.firebase:firebase-bom:$androidFirebaseBomVersion")

    implementation 'com.google.firebase:firebase-core'
    implementation 'com.google.firebase:firebase-ads'
    implementation 'com.google.firebase:firebase-crashlytics'

    // Android lifecycle
    implementation "androidx.lifecycle:lifecycle-runtime:$androidLifeCycleVersion"
    implementation "androidx.lifecycle:lifecycle-extensions:$androidLifeCycleVersion"
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    annotationProcessor "androidx.lifecycle:lifecycle-compiler:$androidLifeCycleVersion"

    // Android support
    //TODO once can be replaced with com.google.android.material
    implementation "com.google.android.material:material:$androidMaterialVersion"
    implementation 'androidx.browser:browser:1.0.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation "androidx.appcompat:appcompat:$androidAppCompatVersion"
    implementation "androidx.constraintlayout:constraintlayout:$androidSupportConstraintLayoutVersion"

    implementation 'androidx.multidex:multidex:2.0.1'

    implementation "com.squareup.okhttp3:okhttp:$okHttpVersion"

    // Dependency injection (Dagger)
    implementation "com.google.dagger:dagger:$daggerVersion"
    implementation "com.google.dagger:dagger-android:$daggerVersion"
    annotationProcessor "com.google.dagger:dagger-android-processor:$daggerVersion"
    annotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"

    // Database
    implementation "org.sqldroid:sqldroid:$sqlDroidVersion"
    implementation "org.flywaydb:flyway-core:$flywayVersion"

    // UI
    implementation "com.afollestad.material-dialogs:core:$materialDialogsVersion"
    implementation "com.github.hotchemi:android-rate:$androidRateVersion"
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation "com.nex3z:flow-layout:$flowLayoutVersion"

    // Utils
    implementation "com.annimon:stream:$streamVersion"
    implementation "com.google.code.findbugs:jsr305:$findBugsVersion"
    implementation "net.objecthunter:exp4j:$exp4jVersion"

    // Checkout
    implementation "org.solovyev.android:checkout:$checkoutVersion"

    /**
     * Test dependencies
     */
    // Unit tests
    testImplementation group: 'org.hamcrest',name: 'hamcrest-all',version: hamcrestAllVersion
    testImplementation("junit:junit:$junitVersion") {
        exclude group: 'org.hamcrest',module: 'hamcrest-core'
    }
    testImplementation group: 'org.mockito',name: 'mockito-core',version: mockitoVersion
    testImplementation('androidx.arch.core:core-testing:2.1.0') {
        exclude group: "com.android.support",module: "support-annotations"
    }
    testImplementation 'net.sf.kxml:kxml2:2.3.0'

    // Integration tests
    androidTestImplementation "junit:junit:$junitVersion"

    // Espresso dependencies
    androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion"
    androidTestImplementation "androidx.test.espresso:espresso-contrib:$espressoVersion"
    androidTestImplementation "androidx.test.espresso:espresso-intents:$espressoVersion"
    androidTestImplementation "com.google.code.findbugs:jsr305:$jsr305Version"

    androidTestImplementation "androidx.test:runner:$testRunnerVersion"
    androidTestImplementation "androidx.test:rules:$testRunnerVersion"
    androidTestUtil "androidx.test:orchestrator:$testOrchestratorVersion"

    androidTestImplementation "commons-io:commons-io:$commonsIOVersion"
    androidTestImplementation group: 'com.google.guava',name: 'guava',version: guavaVersion

    // Spoon
    androidTestImplementation "com.squareup.spoon:spoon-client:$spoonClientVersion"
}

这是堆栈跟踪:

09-15 11:07:13.467  1129  1129 E AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/R$string;                                                                                                                                                                                                            
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at com.google.android.gms.common.internal.StringResourceValueReader.<init>(Unknown Source)                                                                                                                                                                                                         
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at com.google.firebase.FirebaseOptions.fromResource(FirebaseOptions.java:156)                                        
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:244)                                                                                                                                                                                                                             
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at com.google.firebase.provider.FirebaseInitProvider.onCreate(FirebaseInitProvider.java:51)                                                                                                                                                                                                        
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at android.content.ContentProvider.attachInfo(ContentProvider.java:1759)                                             
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at android.content.ContentProvider.attachInfo(ContentProvider.java:1734)                                                                                                                                                                                                                           
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at com.google.firebase.provider.FirebaseInitProvider.attachInfo(FirebaseInitProvider.java:45)                        
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at android.app.ActivityThread.installProvider(ActivityThread.java:6420)                                              
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at android.app.ActivityThread.installContentProviders(ActivityThread.java:6012)                                                                                                                                                                                                                    
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5951)                                                                                                                                                                                                                      
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at android.app.ActivityThread.-wrap3(ActivityThread.java)                                                                                                                                                                                                                                          
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1710)                                                                                                                                                                                                                            
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:102)                                                                                                                                                                                                                                            
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:154)                                                                                                                                                                                                                                                         
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:6776)                                                                                                                                                                                                                                       
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)                                                                                                                                                                                                                                                  
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)                                                                                                                                                                                                                
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)                                                                                                                                                                                                                                   
09-15 11:07:13.467  1129  1129 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.R$string" on path: DexPathList[[zip file "/data/app/com.myestimates.buildercalcfree-2/base.apk"],nativeLibraryDirectories=[/data/app/com.myestimates.buildercalcfree-2/lib/arm,/system/lib,/vendor/lib]]  
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)                                            
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at java.lang.ClassLoader.loadClass(ClassLoader.java:380)                                                                                                                                                                                                                                           
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)                                                             
09-15 11:07:13.467  1129  1129 E AndroidRuntime:        ... 18 more

也许这是一个普遍的问题,但是我不知道如何处理。

谢谢

解决方法

因此,经过几天的挖掘,我找到了解决方案。因此,要使其正常运行,我必须:

  1. Android Gradle插件降级到3.5.3版本
  2. Gordon 插件降级到1.0.6版本
  3. 已将 fabric-crashlytic 迁移到 firebase-crashlytic 。同时添加最后一个插件,否则会发生错误。

可以设置所有其他更新,但必须将3个项目粘贴到提到的版本上。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?