7

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

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

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

у меня есть это в моем уровне приложения Gradle файл

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

и это

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

Я также настроить андроид манифеста .. и классов обслуживания соответственно и прием 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) 
+0

Возможный дубликат [java.lang.n oclassdeffounderror: com.google.android.gms.R $ styleable] (http://stackoverflow.com/questions/14372391/java-lang-noclassdeffounderror-com-google-android-gms-rstyleable) – barq

+0

Возможный дубликат http://stackoverflow.com/questions/14372391/java-lang-noclassdeffounderror-com-google-android-gms-rstyleable – barq

+0

@barq как вы можете видеть его не $ stylable Я получаю $ string по ошибке –

ответ

16

У меня был тот же problem.You, вероятно, перед ней на устройствах перед 5.0 version.The причина, почему это случилось, что версия до Android 5.0 использовать Dalvik и по умолчанию, Dalvik ограничивает приложения к одному 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

+0

Я уже решил эту проблему ... и ваше решение идеально .. Я только что понял вчера –

+0

идеальный ответ. Благодарю. –

Смежные вопросы