Jaime Montoya
Jaime Montoya

Reputation: 7711

java.lang.NoClassDefFoundError: com.google.android.gms.R$string at com.google.android.gms.common.internal.zzam.<init>(Unknown Source)

I am building an Android App and everything works correctly for Android 5.+. However, for Android 4.x, I am getting the following error when I try to compile using Android Studio:

E/AndroidRuntime: FATAL EXCEPTION: main
              java.lang.NoClassDefFoundError: com.google.android.gms.R$string
                  at com.google.android.gms.common.internal.zzam.<init>(Unknown Source)
                  at com.google.firebase.FirebaseOptions.fromResource(Unknown Source)
                  at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
                  at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
                  at android.content.ContentProvider.attachInfo(ContentProvider.java:1064)
                  at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
                  at android.app.ActivityThread.installProvider(ActivityThread.java:5181)
                  at android.app.ActivityThread.installContentProviders(ActivityThread.java:4733)
                  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4666)
                  at android.app.ActivityThread.access$1300(ActivityThread.java:166)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1439)
                  at android.os.Handler.dispatchMessage(Handler.java:107)
                  at android.os.Looper.loop(Looper.java:194)
                  at android.app.ActivityThread.main(ActivityThread.java:5455)
                  at java.lang.reflect.Method.invokeNative(Native Method)
                  at java.lang.reflect.Method.invoke(Method.java:525)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:966)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:733)
                  at dalvik.system.NativeStart.main(Native Method)

In my dependencies, I already tried both compile 'com.google.android.gms:play-services:+'

and also compile 'com.google.android.gms:play-services:9.8.0'.

I have been trying to find solutions online and people recommend to add Google Play Services dependencies, but I already did that. I had also tried compile 'com.android.support:multidex:1.0.0' but I do not think that would make any difference because in any case, I saw this message popping up in Android Studio:

"Instant Run does not support deploying build variants with multidex enabled, to a target with API level 20 or below. To use Instant Run with a multidex enabled build variant, deploy to a target with API level 21 or higher."

Any hints? Thank you.

Upvotes: 0

Views: 1246

Answers (1)

Jaime Montoya
Jaime Montoya

Reputation: 7711

The solution was simply adding the following code in my class that extended Application:

 @Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

The solution was at java.lang.NoClassDefFoundError: com.google.android.gms.internal.zzmp, so this question could be marked as duplicate.

Upvotes: 1

Related Questions