Android Gradle插件升级到7.0.2后Firebase Crashlytics构建失败如何解决
问题根因
这个报错是Gradle 7.x新增的任务属性合法性校验触发的,旧版本的Firebase Crashlytics Gradle插件使用了不符合Gradle规范的setter方法声明可变属性,和AGP 7.0.2配套的Gradle 7.0.2的校验规则冲突。
注意你使用的Firebase BOM只负责管理App模块内引入的Firebase客户端SDK版本,不影响Crashlytics Gradle插件的版本,所以即使BOM是最新的,插件版本不匹配依然会报错。
可行解决方法
方案1(推荐长期使用):升级Crashlytics Gradle插件到适配版本
在项目根目录的build.gradle文件中,将Crashlytics Gradle插件的依赖版本升级到2.8.0及以上稳定版即可兼容Gradle7.x:
dependencies { // 替换原有旧版本的crashlytics gradle插件声明 classpath "com.google.firebase:firebase-crashlytics-gradle:2.9.9" }
修改完成后执行./gradlew clean清理缓存后重新构建即可。
方案2(临时应急):关闭Gradle属性校验
如果暂时无法升级插件,可以在项目根目录的gradle.properties文件中添加以下配置,临时关闭相关校验:
org.gradle.unsafe.configuration-properties.validate=false
该方案仅作为临时过渡使用,长期来看还是建议升级插件避免潜在的构建兼容性问题。
内容的提问来源于stack exchange,提问作者Skiba
相关产品推荐
相关产品推荐

