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

从Kotlin 1.4.32升级至1.8.0时遇kapt执行失败问题求助

解决Kotlin 1.8.0升级后kapt元数据版本不兼容问题

核心问题分析

你遇到的Unsupported metadata version错误,主要源于两个版本不匹配问题:

  1. 当前使用的Android Gradle Plugin(AGP)7.1.2不支持Kotlin 1.8.0
  2. 项目中通过kapt引入的注解处理器(如Room、Dagger等)版本过低,无法适配Kotlin 1.8的元数据格式

分步解决方案

1. 同步升级AGP和Gradle版本

AGP与Kotlin版本存在严格兼容性约束,AGP 7.1.x仅支持Kotlin 1.5-1.6,要适配Kotlin 1.8.0,需升级AGP到7.3.x及以上,同时同步升级Gradle版本:

  • 修改项目根目录build.gradle(或build.gradle.kts)中的依赖:
    dependencies {
        // 升级AGP到支持Kotlin 1.8的版本,例如7.3.1
        classpath 'com.android.tools.build:gradle:7.3.1'
        // 确保Kotlin Gradle插件版本与项目使用的Kotlin版本一致
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0"
    }
    
  • 修改gradle/wrapper/gradle-wrapper.properties中的Gradle分发地址,匹配AGP 7.3.x的要求:
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
    

2. 升级所有kapt注解处理器依赖

检查项目中所有通过kapt引入的注解处理器,升级到支持Kotlin 1.8.0的版本:

  • 示例(以Room为例):
    implementation "androidx.room:room-runtime:2.5.0"
    kapt "androidx.room:room-compiler:2.5.0"
    implementation "androidx.room:room-ktx:2.5.0"
    
  • 示例(以Dagger为例):
    implementation 'com.google.dagger:dagger:2.45'
    kapt 'com.google.dagger:dagger-compiler:2.45'
    
  • 其他第三方kapt依赖,需查阅官方文档确认兼容Kotlin 1.8的最低版本并统一升级。

3. 清理缓存并重建项目

  • 重启Android Studio,执行File > Invalidate Caches... > Invalidate and Restart,清除旧的IDE缓存
  • 在终端执行./gradlew clean build,或通过Gradle面板执行clean和build任务,彻底清理构建缓存后重新编译

4. 确认完全移除kotlin-android-extensions插件

检查所有模块的build.gradle文件,确保移除以下内容:

  • apply plugin: 'kotlin-android-extensions'
  • 任何与androidExtensions相关的配置块

内容的提问来源于stack exchange,提问作者c4pn.91

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 03:34:59