【发布时间】:2017-09-01 22:48:36
【问题描述】:
在升级 Google Play 服务和相关库后,我收到来自 Proguard 的关于 firebase 消息传递的以下警告。
- 播放服务:
9.4.0->10.2.1 - MixPanel:
4.9.2->4.9.8 - 对讲:
3.0.10->3.1.3
这是来自com.google.firebase.messaging.*的proguard警告
Warning: com.google.firebase.messaging.FirebaseMessagingService: can't find referenced method 'com.google.firebase.iid.zzg zzabT()' in program class com.google.firebase.iid.zzg
Warning: com.google.firebase.messaging.zzc: can't find referenced field 'java.lang.String zzcvH' in program class com.google.android.gms.internal.zzbxz$zza
Warning: com.google.firebase.messaging.zzc: can't find referenced field 'java.lang.String zzcvH' in program class com.google.android.gms.internal.zzbxz$zzb
Warning: com.google.firebase.messaging.zzc: can't find referenced field 'java.lang.String zzcvI' in program class com.google.android.gms.internal.zzbxz$zzb
Warning: com.google.firebase.messaging.zzc: can't find referenced field 'long zzcvJ' in program class com.google.android.gms.internal.zzbxz$zzb
Warning: com.google.firebase.messaging.zzc: can't find referenced field 'java.lang.String zzcvK' in program class com.google.android.gms.internal.zzbxz$zzb
Warning: com.google.firebase.messaging.zzc: can't find referenced field 'int zzcvL' in program class com.google.android.gms.internal.zzbxz$zzb
Warning: com.google.firebase.messaging.zzc: can't find referenced field 'int zzcvM' in program class com.google.android.gms.internal.zzbxz$zzb
Warning: com.google.firebase.messaging.zzc: can't find referenced field 'java.lang.String zzcvN' in program class com.google.android.gms.internal.zzbxz$zzb
Warning: com.google.firebase.messaging.zzc: can't find referenced field 'java.lang.String zzcvO' in program class com.google.android.gms.internal.zzbxz$zzb
Warning: com.google.firebase.messaging.zzc: can't find referenced field 'java.lang.String zzcvR' in program class com.google.android.gms.internal.zzbxz$zzb
Warning: com.google.firebase.messaging.zzc: can't find referenced field 'int zzcvS' in program class com.google.android.gms.internal.zzbxz$zzb
Warning: com.google.firebase.messaging.zzc: can't find referenced field 'com.google.android.gms.internal.zzbxz$zza[] zzcvT' in program class com.google.android.gms.internal.zzbxz$zzb
我正在使用最新的播放服务。
intercomLibraryVersion = '3.1.3' // https://github.com/intercom/intercom-android/blob/master/CHANGELOG.md
mixPanelVersion = '4.9.8' // https://github.com/mixpanel/mixpanel-android/releases
playServiceVersion = '10.2.1' // https://developers.google.com/android/guides/releases
// Google Play Services
// https://developers.google.com/android/guides/setup
// https://firebase.google.com/docs/android/setup
compile "com.google.android.gms:play-services-base:$rootProject.playServiceVersion"
compile "com.google.android.gms:play-services-gcm:$rootProject.playServiceVersion"// used by - mixpanel & intercom
// Mixpanel
//https://github.com/mixpanel/mixpanel-android/releases
compile "com.mixpanel.android:mixpanel-android:$rootProject.mixPanelVersion"
// Intercom - live chat and analytics
// https://github.com/intercom/intercom-android
// https://developers.intercom.com/docs/android-installation
compile "io.intercom.android:intercom-sdk-base:$rootProject.intercomLibraryVersion"
compile "io.intercom.android:intercom-sdk-fcm:$rootProject.intercomLibraryVersion"
我可以避免这些警告的唯一方法是添加以下 proguard 规则。
-dontwarn com.google.firebase.messaging.**
有人知道这个的副作用吗?或如何解决此 Firebase 消息问题。
更新 #1 应用程序现在随机崩溃并出现以下堆栈跟踪。
04-06 14:49:28.911 25362-25455/? E/AndroidRuntime: FATAL EXCEPTION: pool-13-thread-1
Process: com.myapp, PID: 25362
java.lang.AbstractMethodError: abstract method "void com.google.firebase.iid.b.handleIntent(android.content.Intent)"
at com.google.firebase.iid.b$1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
【问题讨论】:
-
目前,我已将所有版本降级为上述之前工作的版本。
-
Google Play 服务 10.2.6 在尝试使用我的应用程序连接 Firebase 监控时出现同样的问题
-
@JafarAlali92 只是好奇,下面的解决方案对你有用吗?
标签: android firebase google-play-services android-proguard