0

Firebase 通知を既存の Android アプリケーションに統合しようとしています。しかし、アプリを起動するとクラッシュします。

Process: uk.co.stableweb.geethika, PID: 24344
  java.lang.IncompatibleClassChangeError: com.google.firebase.auth.FirebaseAuth
      at dalvik.system.DexFile.defineClassNative(Native Method)
      at dalvik.system.DexFile.defineClass(DexFile.java:226)
      at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219)
      at dalvik.system.DexPathList.findClass(DexPathList.java:338)
      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
      at java.lang.Class.classForName(Native Method)
      at java.lang.Class.forName(Class.java:324)
      at java.lang.Class.forName(Class.java:285)
      at com.google.firebase.FirebaseApp.zza(Unknown Source)
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
      at com.google.firebase.FirebaseApp.zzeh(Unknown Source)
      at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
      at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
      at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
      at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
      at android.app.ActivityThread.installProvider(ActivityThread.java:5233)
      at android.app.ActivityThread.installContentProviders(ActivityThread.java:4828)
      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4768)
      at android.app.ActivityThread.access$1600(ActivityThread.java:154)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1441)
      at android.os.Handler.dispatchMessage(Handler.java:102)
      at android.os.Looper.loop(Looper.java:152)
      at android.app.ActivityThread.main(ActivityThread.java:5497)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
07-18 10:47:24.284 24344-24344/uk.co.stableweb.geethika D/AppTracker: App Event: crash

app.gradeです。

compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha4'
    compile 'com.google.firebase:firebase-core:9.2.0'
    compile 'com.google.firebase:firebase-database:9.2.0'
    compile 'com.android.support:cardview-v7:23.4.0'
    compile 'com.android.support:recyclerview-v7:23.4.0'
    compile 'com.firebaseui:firebase-ui:0.4.1'
    compile 'com.firebaseui:firebase-ui-database:0.4.1'
    compile 'com.firebaseui:firebase-ui-auth:0.4.1'
    compile 'org.sufficientlysecure:html-textview:1.6'
    compile 'com.android.support:support-v4:23.4.0'
    compile 'cn.pedant.sweetalert:library:1.3'
    compile 'com.google.firebase:firebase-messaging:9.2.1'

stackoverflow の別の質問で、誰かが認証を有効にすることを提案しました。認証を使用していませんが、匿名オプションを有効にしました。

Firebase コンソール

また、デバイスと SDK の両方で Google リポジトリとプレイ サービスを更新しました。これを解決する方法について何か考えがあれば、それは素晴らしいことです。ありがとうございました!

4

1 に答える 1

3

Firebase SDK では、すべてのライブラリが同じバージョンである必要があります。

使用している場合はcom.google.firebase:firebase-core:9.2.0 、必要ですcom.google.firebase:firebase-messaging:9.2.0

エラーは、firebase-authライブラリが とは異なるバージョンにあることが原因のようですfirebase-core。しかし、gradle ファイルに firebase-auth がありません。これは奇妙です。

依存している他のライブラリが、firebase-core インポートとは異なるバージョンで firebase-auth をインポートしている可能性があります。

次のコマンドでこれを確認します。

gradle -q app:dependencies --configuration compile
于 2016-07-18T14:09:47.547 に答える