我通过在此链接上提供的以下步骤在我的Android应用程序中集成了Firebase Cloud Messaging:
在Android上设置Firebase Cloud Messaging客户端应用
下面是我的应用程序build.gradle的一部分:
dependencies {
compile 'com.google.android.gms:play-services-analytics:11.0.1'
compile 'com.google.firebase:firebase-messaging:11.0.1'
compile 'com.google.firebase:firebase-core:11.0.1'
}
apply plugin: 'com.google.gms.google-services'
下面是我的项目build.gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'com.google.gms:google-services:3.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
我正在使用AndroidStudio版本2.3.3
由于某些原因,当我直接通过AndroidStudio安装设备上的应用程序时,它可以正常工作,但是当我创建签名构建,安装并启动与堆栈跟踪的相同崩溃时,它可以:
:E/AndroidRuntime: FATAL EXCEPTION: main
Process: xyz.myapp, PID: 8723
java.lang.NoSuchMethodError: No static method zzb(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzac; or its super classes (declaration of 'com.google.android.gms.common.internal.zzac' appears in /data/app/xyz.myapp-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:5852)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5444)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5383)
at android.app.ActivityThread.-wrap2(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1541)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6123)
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)
我尝试了在此链接上提出的解决方案:Firebase API初始化失败。(java.lang.incompatibleclasschangeerror(#24,但没有一个对我有用:(
我在这里错过了什么吗?
当您使用多个Firebase(或Google Play Services(库时,这会发生这种情况。
firebase(和Google Play Services(库必须全部都在同一版本中。
您可能不是您介绍此问题,而是由其他库的其他库。
运行./gradlew dependencies
检查依赖项及其版本列表。
update :如果依赖项看起来还可以,但是问题仍然存在,请尝试./gradlew clean
&重建。