Firebase + Proguard/R8

Mak*_*ski 1 android firebase firebase-cloud-messaging android-r8

我目前正在项目中设置 Firebase (FCM),当我运行经过 R8 混淆的应用程序时遇到问题,Firebase 服务 (FirebaseMessagingService) 不再工作。有人遇到过同样的问题吗?有什么解决办法吗?

UPD:最后我通过降级到 FCM 修复了它

com.google.firebase:firebase-messaging:15.0.0
Run Code Online (Sandbox Code Playgroud)

现在使用了一些已弃用的类,但它仍然有效。

UPD2:在使用最新版本的库运行混淆的应用程序时,我还注意到日志中的警告:

W/FA: Failed to retrieve Firebase Instance Id
Run Code Online (Sandbox Code Playgroud)

这很可能是问题的根源。

Mak*_*ski 12

终于解决了,下一个混淆器规则对我来说是一个技巧:

# Firebase
-keep class com.google.android.gms.** { *; }
-keep class com.google.firebase.** { *; } // especially this one
Run Code Online (Sandbox Code Playgroud)