为什么我得到异常 - java.lang.NoClassDefFoundError:com.google.android.gms.R $ string?

时间:2016-01-24 05:17:55

标签: java android string exception gradle

这就是我的build.gradle(Module:app)文件的样子

apply plugin: 'com.android.application'
android {
    compileSdkVersion 23
    buildToolsVersion '23.0.0'
    packagingOptions {
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
    }
    defaultConfig {
        applicationId "com.ryde.chris.ryde"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.android.support:design:23.0.0'
    compile 'com.android.support:recyclerview-v7:23.0.0'
    compile 'com.melnykov:floatingactionbutton:1.3.0'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.parse:parse-android:1.+'
    compile 'com.firebase:firebase-client-android:2.0.3+'
}

当我尝试构建应用程序并将其部署到GenyMotion模拟器时,我得到此异常(带有堆栈跟踪)

java.lang.NoClassDefFoundError: com.google.android.gms.R$string
at com.google.android.gms.measurement.zza.<init>(Unknown Source)
at com.google.android.gms.measurement.zza.zzaR(Unknown Source)
at com.google.android.gms.measurement.internal.zzn.zziJ(Unknown Source)
at com.google.android.gms.measurement.internal.zzz.zza(Unknown Source)
at com.google.android.gms.measurement.internal.zzw.<init>(Unknown Source)
at com.google.android.gms.measurement.internal.zzaa.zzDj(Unknown Source)
at com.google.android.gms.measurement.internal.zzw.zzaT(Unknown Source)
at com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(Unknown Source)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1591)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1562)
at android.app.ActivityThread.installProvider(ActivityThread.java:4774)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4369)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4309)
at android.app.ActivityThread.access$1500(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)

我尝试多次构建/部署应用程序到不同的模拟器,以确保这不是一次性事情或单个模拟器事物。

从查看堆栈跟踪,我发现它与我编写的任何代码无关,所以我假设这是一些构建/ gradle问题。

我在StackOverflow上发现的关于这个问题的一件事是this,但这与rstyleable没有被定义有关,而不是Rstring。该问题的解决方案是在我的build.gradle中包含对Google Play服务库的依赖。

我发现的另一件事是 this。在这种情况下,com.google.android.gms.R $字符串丢失,但该用户的堆栈跟踪看起来与我的不同(其中有一行包含GooglePlayServices)。该线程中提出的解决方案再次确保您包含GooglePlayServices依赖项。与该堆栈跟踪不同,我的堆栈跟踪没有表明任何Google Play服务资源文件丢失。

有谁知道问题是什么或我如何解决这个问题?

0 个答案:

没有答案