升级androidx.core:core-ktx到1.6.0后报unrecognized Attribute name MODULE错误
这个报错的根本原因是compileSdk 31对应的部分Android依赖使用JDK 11编译,内置了JDK 9及以上版本才支持的MODULE属性标识,旧版本JDK 8的javac编译时无法识别该属性,就会抛出该异常。
解决方案
- 优先升级项目使用的JDK版本到11及以上
操作路径:打开Android Studio -> 依次进入File > Settings > Build, Execution, Deployment > Build Tools > Gradle,在Gradle JDK选项中选择11或更高版本,可直接选用Android Studio内置的JDK 11,修改后重启Android Studio再尝试构建。 - 统一全项目Kotlin依赖版本
当前构建输出已经存在Kotlin运行时版本不一致的警告,需要将项目级build.gradle中配置的Kotlin插件版本,和所有模块中引入的kotlin-stdlib、kotlin-core-ktx等Kotlin相关依赖的版本统一为同一稳定版本,建议选用1.5.31及以上的正式版本,和你的Android Gradle插件版本适配。 - 配置kapt编译参数(可选,执行前两项后仍报错时使用)
在模块级build.gradle的android闭包中添加如下配置:
配置完成后清理项目缓存再重新构建即可。kapt { javacOptions { option("--release", "11") } }
内容的提问来源于stack exchange,提问作者Nanda Z
相关产品推荐
相关产品推荐

