【问题标题】:Firebase + Proguard/R8Firebase + Proguard/R8
【发布时间】:2020-05-16 23:37:42
【问题描述】:

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

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

com.google.firebase:firebase-messaging:15.0.0

现在有一些不推荐使用的类,但它可以工作。

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

W/FA: Failed to retrieve Firebase Instance Id

这很可能是问题的根源。

【问题讨论】:

  • 您的相关 build.gradle 条目、proguard/r8 配置以及您遇到的错误可能会有所帮助。
  • @SebRut 这可以通过基本 FCM 配置 recommended by Google 重现。我开始了一个新的 Android Studio 项目并在其中集成了 Firebase,但问题仍然存在,Firebase 控制台看不到混淆构建,我只是无法完成 Firebase 设置的最后一步。并且由于 R8 混淆机制从库本身获取规则,因此不再需要 proguard 配置文件。

标签: android firebase firebase-cloud-messaging android-r8


【解决方案1】:

终于解决了,下一个 proguard 规则对我有用:

# Firebase
-keep class com.google.android.gms.** { *; }
-keep class com.google.firebase.** { *; } // especially this one

【讨论】:

    【解决方案2】:

    只需查看 R8 在构建日志中抛出的投诉......然后按照说的去做。仅仅因为它可能为库本身提供配置,并不意味着它为您的应用程序代码提供配置。还要确保在 Firebase 控制台中添加了释放密钥的指纹。

    【讨论】:

      猜你喜欢
      • 2023-01-01
      • 2020-11-16
      • 1970-01-01
      • 2019-09-29
      • 2019-09-08
      • 1970-01-01
      • 2019-09-12
      • 2019-03-19
      • 2021-12-23
      相关资源
      最近更新 更多