You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android编译报错:unrecognized Attribute name MODULE 求解决建议

解决 java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE 编译错误

结合你提供的环境信息和错误栈,这个问题大多是JDK、Gradle插件、Kotlin版本不兼容或者注解处理环节出了问题,给你几个针对性的解决思路:

1. 切换到JDK 8编译

你当前用的是JDK 11,虽然AGP 4.0.1理论上支持JDK 11,但注解处理(kapt)在JDK 8环境下会更稳定,尤其是旧版本的AGP:

  • 打开Android Studio,依次点击 File > Project Structure > SDK Location
  • 在Gradle JDK选项中选择JDK 8(如果没有,点击Download JDK安装AdoptOpenJDK 8)
  • 重启AS后,执行命令:gradlew clean assemble

2. 对齐Gradle、AGP和Kotlin版本

你的当前版本组合(AGP 4.0.1 + Gradle 6.1.1 + Kotlin 1.6.10)存在版本不匹配的问题,Kotlin 1.6.x需要搭配更高版本的AGP和Gradle:

  • 修改项目根目录的build.gradle:
    buildscript {
        dependencies {
            // 升级AGP到4.2.2(和Gradle 6.7.1兼容)
            classpath "com.android.tools.build:gradle:4.2.2"
            // Kotlin 1.6.10和AGP 4.2.2兼容,保持不变即可
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10"
        }
    }
    
  • 修改gradle/wrapper/gradle-wrapper.properties:
    distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
    
  • 同步项目后,执行gradlew clean assemble

3. 检查并更新注解处理器依赖

错误栈显示问题出在kapt注解处理环节,你项目中使用的注解处理器(比如Room、Dagger、ButterKnife等)可能版本过高/过低,和当前AGP/Kotlin版本不兼容:

  • 找到build.gradle中kapt开头的依赖,比如Room:
    // 确保Room版本和Kotlin/AGP兼容,比如Room 2.4.3兼容Kotlin 1.6.x
    implementation "androidx.room:room-runtime:2.4.3"
    kapt "androidx.room:room-compiler:2.4.3"
    
  • 更新到对应兼容版本后,重新编译

4. 彻底清理缓存

除了gradlew clean,还要清理Android Studio的本地缓存:

  • 点击File > Invalidate Caches...
  • 勾选Invalidate and Restart,等待AS重启并重新同步项目
  • 再次执行gradlew clean assemble

内容的提问来源于stack exchange,提问作者lzy187

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 18:05:17