Google GCM android crashes (java.lang.NoClassDefFoundError: com.google.android.gms.R $ string)

Я разрабатываю приложение, использующее сервис Google GCM, и он, кажется, сбой на всех устройствах с предварительным лечением в Launch .. Я следил за учебником Google … и его работу над леденец и зефир

Вот мои зависимости уровня проекта

dependencies { classpath 'com.android.tools.build:gradle:1.5.0' classpath 'com.google.gms:google-services:1.5.0' } 

У меня это в моем градиентном файле уровня приложения

 compile 'com.google.android.gms:play-services:8.4.0' 

и это

 apply plugin: 'com.google.gms.google-services' 

У меня также установлен манифест android и классы обслуживания соответственно и получение GCM на устройстве зефира.

У меня такая ошибка.

 E/AndroidRuntime: FATAL EXCEPTION: main Process: itcurves.driver, PID: 12788 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:4889) at android.app.ActivityThread.installContentProviders(ActivityThread.java:4476) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4413) at android.app.ActivityThread.access$1500(ActivityThread.java:142) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1263) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5120) 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:792) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608) at dalvik.system.NativeStart.main(Native Method) 

Solutions Collecting From Web of "Google GCM android crashes (java.lang.NoClassDefFoundError: com.google.android.gms.R $ string)"

У меня была такая же проблема. Вероятно, вы сталкиваетесь с этим на устройствах версии 5.0. Причина этого в том, что версия до андроида 5.0 использует Dalvik, и по умолчанию Dalvik ограничивает приложения одним файлом byteecode classes.dex на APK. Решение Заключается в использовании поддержки multidex.

Включите в свои зависимости build.gradle следующее:

 compile 'com.android.support:multidex:1.0.0' public class MyApp extends MultiDexApplication { @Override public void onCreate() { super.onCreate(); } 

}

Чем в вашем манифесте добавить класс MultiDexApplication

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.multidex.myapplication"> <application ... android:name=".MyApp"> ... </application> </manifest> 

Примечание. Если у вас уже есть класс приложения, просто расширьте его с помощью класса MultiDexApplication