Firebase 消息 NoSuchMethodError.zzUr 异常
Firebase messaging NoSuchMethodError.zzUr exception
我正在尝试将 FCM 集成到 android 项目中,因为它写在 Firebase documentation。
我的应用程序 gradle:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
...
compile 'com.android.support:multidex:1.0.0'
compile 'com.android.support:support-v4:20.0.0'
compile 'com.google.firebase:firebase-core:9.2.0'
compile 'com.google.firebase:firebase-config:9.2.0'
compile 'com.google.firebase:firebase-messaging:9.0.2'
compile 'com.google.firebase:firebase-crash:9.2.0'
compile 'com.google.android.gms:play-services-ads:9.2.0'
compile 'com.google.android.gms:play-services-analytics:9.2.0'
compile 'com.google.android.gms:play-services-games:9.2.0'
}
apply plugin: 'com.google.gms.google-services'
Manifest.xml:
<service
android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
和 MyFirebaseMesagingService:
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.i("info", "From: " + remoteMessage.getFrom());
Log.i("info", "Notification Message Body: " + remoteMessage.getNotification().getBody());
}
}
但是当我发送推送时,我得到的是:
java.lang.NoSuchMethodError: com.google.firebase.iid.FirebaseInstanceIdInternalReceiver.zzUr
at com.google.firebase.messaging.FirebaseMessagingService.zzz(Unknown Source)
at com.google.firebase.iid.zzb.onStartCommand(Unknown Source)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2805)
at android.app.ActivityThread.access00(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1437)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5299)
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:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
不能google。有人遇到过吗?
尝试运行所有具有相同版本的服务。在这种情况下,更改:
compile 'com.google.firebase:firebase-messaging:9.0.2'
至
compile 'com.google.firebase:firebase-messaging:9.2.0'
并检查是否发生同样的问题。
通过更改构建中的 firebase-messaging 库版本来保持 firebase-core 库和 firebase-messaging 库的相同版本 gradle
来自:
compile 'com.google.firebase:firebase-core:9.2.0'
compile 'com.google.firebase:firebase-messaging:9.0.2
至:
compile 'com.google.firebase:firebase-core:9.2.0'
compile 'com.google.firebase:firebase-messaging:9.2.0'
更改 firebase1 的版本对我有用!
版本必须相同:
compile 'com.google.firebase:firebase-analytics:9.2.0'
compile 'com.google.firebase:firebase-messaging:9.2.0'
compile 'com.google.firebase:firebase-core:9.2.0'
我遇到了同样的问题,通过正确配置 proguard 规则解决了这个问题。
我在这里所做的如下:
首先我已经排除了 google 类 在 proguard-rules.pro:
中像这样混淆
-keep public class com.google.** {*;}
其次,我在 build.gradle 中启用了这个 minifyEnabled,如下所示:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.e2e.quiz"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'com.squareup.picasso:picasso:2.4.0'
compile 'com.google.android.gms:play-services-gcm:9.2.1'
compile 'com.google.android.gms:play-services-analytics:9.2.1'
compile 'com.google.android.gms:play-services-ads:9.2.1'
compile project(':ast-dst')
}
我正在尝试将 FCM 集成到 android 项目中,因为它写在 Firebase documentation。
我的应用程序 gradle:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
...
compile 'com.android.support:multidex:1.0.0'
compile 'com.android.support:support-v4:20.0.0'
compile 'com.google.firebase:firebase-core:9.2.0'
compile 'com.google.firebase:firebase-config:9.2.0'
compile 'com.google.firebase:firebase-messaging:9.0.2'
compile 'com.google.firebase:firebase-crash:9.2.0'
compile 'com.google.android.gms:play-services-ads:9.2.0'
compile 'com.google.android.gms:play-services-analytics:9.2.0'
compile 'com.google.android.gms:play-services-games:9.2.0'
}
apply plugin: 'com.google.gms.google-services'
Manifest.xml:
<service
android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
和 MyFirebaseMesagingService:
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.i("info", "From: " + remoteMessage.getFrom());
Log.i("info", "Notification Message Body: " + remoteMessage.getNotification().getBody());
}
}
但是当我发送推送时,我得到的是:
java.lang.NoSuchMethodError: com.google.firebase.iid.FirebaseInstanceIdInternalReceiver.zzUr
at com.google.firebase.messaging.FirebaseMessagingService.zzz(Unknown Source)
at com.google.firebase.iid.zzb.onStartCommand(Unknown Source)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2805)
at android.app.ActivityThread.access00(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1437)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5299)
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:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
不能google。有人遇到过吗?
尝试运行所有具有相同版本的服务。在这种情况下,更改:
compile 'com.google.firebase:firebase-messaging:9.0.2'
至
compile 'com.google.firebase:firebase-messaging:9.2.0'
并检查是否发生同样的问题。
通过更改构建中的 firebase-messaging 库版本来保持 firebase-core 库和 firebase-messaging 库的相同版本 gradle
来自:
compile 'com.google.firebase:firebase-core:9.2.0'
compile 'com.google.firebase:firebase-messaging:9.0.2
至:
compile 'com.google.firebase:firebase-core:9.2.0'
compile 'com.google.firebase:firebase-messaging:9.2.0'
更改 firebase1 的版本对我有用!
版本必须相同:
compile 'com.google.firebase:firebase-analytics:9.2.0'
compile 'com.google.firebase:firebase-messaging:9.2.0'
compile 'com.google.firebase:firebase-core:9.2.0'
我遇到了同样的问题,通过正确配置 proguard 规则解决了这个问题。
我在这里所做的如下:
首先我已经排除了 google 类 在 proguard-rules.pro:
中像这样混淆-keep public class com.google.** {*;}
其次,我在 build.gradle 中启用了这个 minifyEnabled,如下所示:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.e2e.quiz"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'com.squareup.picasso:picasso:2.4.0'
compile 'com.google.android.gms:play-services-gcm:9.2.1'
compile 'com.google.android.gms:play-services-analytics:9.2.1'
compile 'com.google.android.gms:play-services-ads:9.2.1'
compile project(':ast-dst')
}