2016-09-20 63 views
0

我更新了我的應用以使用Firebase,它在我的設備上完美運行。然而它在我的許多用戶設備上崩潰在更新到Playbase上的Firebase後,java.lang.NoClassDefFoundError:com.google.firebase.FirebaseOptions

java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptions 
at com.google.firebase.FirebaseApp.zzbu(Unknown Source) 
at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source) 
at android.content.ContentProvider.attachInfo(ContentProvider.java:1058) 
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) 
at android.app.ActivityThread.installProvider(ActivityThread.java:5021) 
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4633) 
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4573) 
at android.app.ActivityThread.access$1400(ActivityThread.java:157) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1349) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:176) 
at android.app.ActivityThread.main(ActivityThread.java:5319) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 
at dalvik.system.NativeStart.main(Native Method) 

這是崩潰。

dependencies { 
compile 'com.android.support:multidex:1.0.0' 
compile 'com.splunk.mint:mint:4.0' 
compile 'com.android.support:appcompat-v7:24.0.0' 
compile 'com.android.support:support-v4:24.0.0' 
compile 'com.google.android.gms:play-services:9.0.2' 
compile 'com.google.firebase:firebase-core:9.0.2' 
compile "com.mixpanel.android:mixpanel-android:4.+" 
compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
    transitive = true; 
} 
} 

這是我的build.gradle。

任何指針?

+0

此問題已在其他許多問題中解決,例如:http://stackoverflow.com/q/37360126/4815718。確保你已經遵循了所有[啓用Multidex的說明](https://developer.android.com/studio/build/multidex.html#mdex-gradle)並且它正在工作。另外,爲什麼使用版本9.0.2?當前版本是9.4.0。 –

回答

-1

您需要降低您擁有的Firebase版本,它們在某些設備上的新版本中存在一些問題。

+0

我應該降級到哪個版本? –

0

它看起來像是你的用戶的谷歌播放服務版本的問題。您可以嘗試:

private boolean checkGooglePlayServices() { 
    final int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); 
    if (status != ConnectionResult.SUCCESS) { 
     Log.e(TAG, GooglePlayServicesUtil.getErrorString(status)); 

     // ask user to update google play services. 
     Dialog dialog = GooglePlayServicesUtil.getErrorDialog(status, this, 1); 
     dialog.show(); 
     return false; 
    } else { 
     Log.i(TAG, GooglePlayServicesUtil.getErrorString(status)); 
     // google play services is updated. 
     //your code goes here... 
     return true; 
    } 
} 

驗證谷歌播放服務是否可用。

相關問題