集成Firebase Performance SDK后Gradle构建出现IllegalStateException警告求助
别担心,这个构建警告我之前帮同事排查过,大概率是版本不兼容或者代码混淆配置的问题,咱们一步步来解决:
首先先明确你碰到的错误信息:
java.lang.IllegalStateException: Expecting .,<, or ;, but found firebaseperf while unpacking ;BuilderType:Lcom/google/android/gms/internal/firebase-perf/zzam;>Ljava/lang/Object;Lcom/google/android/gms/internal/firebase-perf/zzdf;
你的当前依赖版本:
- Firebase Performance SDK版本:
15.2.0 - Firebase Core版本:
15.0.2
具体解决步骤:
统一Firebase组件版本
Firebase的各个核心组件版本必须保持一致,你这里Performance和Core版本差了小版本,内部类的引用路径很可能出现不匹配的情况。建议把Firebase Core也升级到15.2.0,或者将Performance SDK降级到15.0.2,确保所有Firebase相关依赖版本同步。调整ProGuard/R8混淆规则
如果你的项目开启了代码混淆,可能是混淆规则没有适配Firebase Performance的内部类。在proguard-rules.pro文件中添加以下规则:
-keep class com.google.android.gms.internal.firebase-perf.** { *; } -keep class com.google.firebase.perf.** { *; } -dontwarn com.google.android.gms.internal.firebase-perf.**
如果是使用R8编译器,虽然部分规则会自动生成,但手动添加这些规则能避免字节码解析时的异常。
- 清理Gradle缓存并重新构建
有时候缓存的旧编译文件会导致奇怪的解析错误,执行以下命令清理缓存后重新构建:
./gradlew clean build --refresh-dependencies
- 升级构建工具版本
旧版本的Android Gradle Plugin(AGP)或者Gradle本身可能对Firebase SDK的字节码处理存在兼容性问题,检查项目根目录的build.gradle文件,将AGP版本升级到对应SDK支持的稳定版本(比如对应Firebase 15.x版本的AGP可以用3.1.x或3.2.x系列)。
补充说明:
这个警告本身不会导致构建失败,但为了生产环境的稳定性,还是建议修复后再发布。按照上面的步骤处理后,基本能解决这个字节码解析的问题。
内容的提问来源于stack exchange,提问作者Yash

