Android Kotlin项目执行:common:kaptDebugKotlin任务报错如何解决
问题根因
你遇到的unrecognized Attribute name MODULE报错是因为当前构建环境使用的JDK 8无法识别高版本JDK(JDK 9+)编译的依赖包中携带的MODULE元数据属性,结合你给出的配置来看,核心是compileSdk 31与当前使用的AGP、Kotlin版本兼容性不匹配导致的。
解决方案
- 方案1:升级对应依赖版本适配compileSdk 31
- 升级Android Gradle插件版本:将顶层build.gradle中的
gradle_version修改为7.0.4,同步修改gradle-wrapper.properties中的distributionUrl为https\://services.gradle.org/distributions/gradle-7.0.2-all.zip - 升级Kotlin版本:将
kotlin_version修改为1.5.31及以上版本 - 升级Hilt版本:将
hiltGradle_version修改为2.38.1,同步升级各子模块内的hilt相关依赖版本,保持版本号一致
- 升级Android Gradle插件版本:将顶层build.gradle中的
- 方案2:临时规避(如果暂时不想升级大版本)
在项目根目录的gradle.properties文件中添加以下配置,强制kapt使用兼容模式处理不识别的注解属性:
配置完成后执行kapt.jvmargs=-Djdk.internal.lambda.dumpProxyClasses -Dcom.sun.tools.javac.disable.annotation.processing.module.info=true./gradlew clean清理本地构建缓存,再重新同步项目即可。 - 额外验证项:打开Android Studio的
File > Settings > Build, Execution, Deployment > Build Tools > Gradle,将Gradle JDK设置为Android Studio默认的Embedded JDK(版本为11及以上),避免本地独立安装的JDK8引发的兼容问题。
内容的提问来源于stack exchange,提问作者Nisa Efendioglu
相关产品推荐
相关产品推荐

