火力地堡 + Proguard/R8
Firebase + Proguard/R8
我目前正在我的项目中设置 Firebase (FCM),当我 运行 我的 R8 混淆应用程序时遇到问题,Firebase 服务 (FirebaseMessagingService) 不再工作。有没有人遇到过同样的问题?有什么解决办法吗?
UPD:最后我通过降级到
为 FCM 修复了它
com.google.firebase:firebase-messaging:15.0.0
有一些已弃用的 类 现在正在使用,但它有效。
UPD2:
运行使用最新版本的库对应用程序进行模糊处理时,我还注意到日志中的警告:
W/FA: Failed to retrieve Firebase Instance Id
这很可能是问题的根源。
只需查看 R8 在构建日志中抛出的投诉...然后按照说明进行操作。仅仅因为它可能为库本身提供配置,并不意味着它为您的应用程序代码提供配置。还要确保在 Firebase 控制台中添加了发布密钥的指纹。
终于搞定了,下一个proguard规则帮了我一个忙:
# Firebase
-keep class com.google.android.gms.** { *; }
-keep class com.google.firebase.** { *; } // especially this one
我的情况是我自己弄坏的。
在设置混淆时我打开调试模式进行测试
release {
debuggable true
}
并结合
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(!BuildConfig.DEBUG)
注定要失败,别是我:)
我目前正在我的项目中设置 Firebase (FCM),当我 运行 我的 R8 混淆应用程序时遇到问题,Firebase 服务 (FirebaseMessagingService) 不再工作。有没有人遇到过同样的问题?有什么解决办法吗?
UPD:最后我通过降级到
为 FCM 修复了它com.google.firebase:firebase-messaging:15.0.0
有一些已弃用的 类 现在正在使用,但它有效。
UPD2: 运行使用最新版本的库对应用程序进行模糊处理时,我还注意到日志中的警告:
W/FA: Failed to retrieve Firebase Instance Id
这很可能是问题的根源。
只需查看 R8 在构建日志中抛出的投诉...然后按照说明进行操作。仅仅因为它可能为库本身提供配置,并不意味着它为您的应用程序代码提供配置。还要确保在 Firebase 控制台中添加了发布密钥的指纹。
终于搞定了,下一个proguard规则帮了我一个忙:
# Firebase
-keep class com.google.android.gms.** { *; }
-keep class com.google.firebase.** { *; } // especially this one
我的情况是我自己弄坏的。
在设置混淆时我打开调试模式进行测试
release {
debuggable true
}
并结合
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(!BuildConfig.DEBUG)
注定要失败,别是我:)