0

我試圖火力地堡雲信息添加到我的應用程序,但沒有成功,因爲我得到以下異常:隱祕FCM 10.2.0失敗 - FirebaseInitProvider,的NoSuchMethodError

1 27336-27336/com.company.here E/AndroidRuntime: FATAL EXCEPTION: main 
                     Process: com.company.here, PID: 27336 
                     java.lang.NoSuchMethodError: No static method zzb(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzaa; or its super classes (declaration of 'com.google.android.gms.common.internal.zzaa' appears in /data/app/com.company.here.debug-1/base.apk) 
                      at com.google.firebase.provider.FirebaseInitProvider.zza(Unknown Source) 
                      at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) 
                      at android.app.ActivityThread.installProvider(ActivityThread.java:5883) 
                      at android.app.ActivityThread.installContentProviders(ActivityThread.java:5475) 
                      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5414) 
                      at android.app.ActivityThread.-wrap2(ActivityThread.java) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1546) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:154) 
                      at android.app.ActivityThread.main(ActivityThread.java:6154) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757) 

這裏就是我選中狀態,以便遠:

  • 谷歌服務在項目文件的gradle
  • 我只有一個依賴關係到火力點,這是10.2.0
  • 設置爲3.0.0我有插孔ENA流血,所以我可以使用lambda
  • 我有ReactiveAndroid和Retrofit納入項目,也許他們互動不好?這就是說運行./gradlew app:dependencies
  • 試過multiDexEnabled = true時,我沒有看到什麼可疑的東西,沒有有所作爲
  • 有一個自定義的applicationIdSuffix建立調試,試圖將其刪除,但它也沒有有所作爲
  • apply plug: 'com.google.gms.google-services的定位似乎並不重要,目前在gradle文件的末尾

什麼可能導致這種情況?盡我所知,FirebaseInitProvider正在從attachInfo調用內部靜態方法,該方法依次嘗試調用一個似乎不存在的SDK私有類上的靜態方法。

+0

你有其他的谷歌播放服務的依賴關係嗎?如果是這樣,他們需要使用相同版本的Firebase。錯誤似乎表明您正在使用不同版本的Google圖書館。 –

+0

正如我所提到的,在運行./gradlew應用程序時,沒有任何可疑的依賴關係。我不懷疑這可能是一種可能性,但除非是傳遞性依賴,否則沒有明顯的錯誤。 – Chris

回答

0

因此,這是奇怪的:

一無所知我的設置從昨晚開始改變,除了我跑了clean project命令,添加firebase-core依賴,然後重新建造,一切都開始工作。

我假設firebase-messaging本身就把所有依賴關係都拉進去了,但是這違背了安裝指南,如果內部類FirebaseInitProvider正在嘗試訪問依賴關係,崩潰就有意義了。

0

您的應用程序級別build.gradle中可能與您的play-services依賴項和Firebase之一不匹配。

在您的項目級別3.0.0的google服務build.gradle沒有問題(com.google.gms:google-services:3.0.0)。

例如,如果您有依賴關係com.google.android.gms:play-services-maps:10.2.0com.google.firebase:firebase-invites:10.2.0,它們必須都是相同版本10.2.0

相關問題