克隆GitHub Kickstarter项目出现useIR未知属性Gradle构建报错
报错原因
你贴的google-services.json复制任务和本次构建失败无关,IDE提示task无法解析是Groovy动态语法的静态检查误报,不影响任务实际运行。
核心报错来自kotlinOptions中的useIR = true配置:
- 该配置是Kotlin 1.4到1.7版本区间,用于手动启用IR编译器的可选参数
- Kotlin 1.8.0及以上版本彻底移除了旧版JVM编译器,IR成为默认且唯一支持的编译器后端,对应的
useIR配置项也被同步删除。你克隆的开源项目长期未更新依赖配置,本地使用的Kotlin Gradle插件版本≥1.8时,就会触发未知属性的异常。
修复方法
直接删除kotlinOptions块内的useIR = true配置即可,修改后代码如下:
kotlinOptions { jvmTarget = JavaVersion.VERSION_11.toString() }
如果项目其他位置(比如其他模块的build.gradle、gradle.properties文件)还存在useIR=true的相关配置,也一并删除。
修改完成后同步Gradle配置即可正常构建,不需要额外执行清理缓存、重建项目的操作。
补充说明:你提到的google-services.json复制任务逻辑正常,只需要把对应构建变体的google-services.json放到
src/[变体名]目录下,构建时任务会自动把文件复制到app模块根目录供google-services插件读取,不需要调整这段任务代码。
内容的提问来源于stack exchange,提问作者Lalit sharma
相关产品推荐
相关产品推荐

