2017-04-06 119 views
6

在升级Google Play服务和相关库后,我收到了来自Proguard的关于Firebase消息的警告。Google Play服务和Firebase发布ProGuard问题

  1. 播放业务:9.4.0 - >10.2.1
  2. MixPanel:4.9.2 - >4.9.8
  3. 对讲: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) 
+0

现在,我已经降级的所有版本以前的工作人提到以上。 –

+0

同样的问题出现在谷歌播放服务10.2.6,当试图用我的app – JafarAlali92

+0

@ JafarAlali92对应用程序监控进行监控时,我只是好奇,下面的解决方案适合您吗? –

回答

20

当您忘记更新Firebase依赖项时,通常会出现此错误。

Firebase引用必须始终与Google依赖关系相同。

这将运行到您的错误:

compile 'com.google.android.gms:play-services-gcm:10.2.1' 
compile 'com.google.android.gms:play-services-maps:10.2.1' 
compile 'com.google.android.gms:play-services-location:10.2.1' 

compile 'com.google.firebase:firebase-auth:10.0.1' 
compile 'com.google.firebase:firebase-core:10.0.1' 
compile 'com.google.firebase:firebase-database:10.0.1' 

这解决了错误:

compile 'com.google.android.gms:play-services-gcm:10.2.1' 
compile 'com.google.android.gms:play-services-maps:10.2.1' 
compile 'com.google.android.gms:play-services-location:10.2.1' 

compile 'com.google.firebase:firebase-auth:10.2.1' //Updated 
compile 'com.google.firebase:firebase-core:10.2.1' //Updated 
compile 'com.google.firebase:firebase-database:10.2.1' //Updated 

希望能解决你的问题

+0

目前我不包含firebase,但可能是第三方库。将再次检查'gradle依赖关系'来弄清楚,谢谢指针。 –

+0

@HossainKhan我的答案解决了你的问题? – Borja

+0

我还没有尝试再次升级库。我看到了大约7个人的提议,所以我猜测你的解决方案适用于少数人。我会尽快再试一次,并在此提供我的更新。 –