7

मैं 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 $ शैली योग्य] (http://stackoverflow.com/questions/14372391/java-lang-noclassdeffounderror-com-google-android-gms-ststyleable) – barq

+0

http: // के संभावित डुप्लिकेट /stackoverflow.com/questions/14372391/java-lang-noclassdeffounderror-com-google-android-gms-rstyleable – barq

+0

@barq जैसा कि आप इसे $ स्टाइल करने योग्य नहीं देख सकते हैं मुझे त्रुटि में $ स्ट्रिंग मिल रही है –

उत्तर

16

मैं था ही problem.You शायद पहले 5.0 संस्करण कारण है कि ऐसा उपकरणों पर यह सामना कर रहे हैं कि संस्करण से पहले 5.0 उपयोग Android के लिए Dalvik और डिफ़ॉल्ट रूप से, Dalvik एक भी classes.dex लिए क्षुधा को सीमित करता है प्रति एपीके द्वारा बाइटकोड फ़ाइल। समाधान मल्टीडेक्स समर्थन का उपयोग करना है।

अपने 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> 

नोट: यदि आप पहले से ही अपने आवेदन वर्ग है, तो बस का विस्तार यह मल्टीडेक्स अनुप्रयोग वर्ग

+0

मैंने पहले ही इस समस्या को हल कर लिया है ... और आपका समाधान सही है .. मैंने कल इसे –

+0

सही उत्तर दिया। धन्यवाद। –

संबंधित मुद्दे