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

Kotlin版本升级后遇annotation模块元数据版本不兼容问题求助

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

问题背景

原本因重复类kotlin.time.jdk8.DurationConversionsJDK8Kt存在于jetified-kotlin-stdlib-1.8.0模块,将Kotlin版本从1.6.0升级至1.8.0后,出现新的元数据版本不兼容错误:

/Users/abc/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation-jvm/1.6.0-beta01/a7257339a052df0f91433cf9651231bbb802b502/annotation-jvm-1.6.0-beta01.jar!/META-INF/annotation.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0

解决方案

  • 强制统一AndroidX Annotation依赖版本
    报错中的annotation-jvm:1.6.0-beta01是测试版,内置了Kotlin 1.8编译的元数据,但项目依赖解析仍在拉取这个旧测试版。在项目根目录的build.gradle(或build.gradle.kts)中添加依赖约束,强制指定兼容Kotlin 1.8.0的稳定版:
    Groovy语法:

    configurations.all {
        resolutionStrategy {
            force 'androidx.annotation:annotation:1.7.0'
        }
    }
    

    Kotlin DSL语法:

    configurations.all {
        resolutionStrategy.force("androidx.annotation:annotation:1.7.0")
    }
    
  • 清理Gradle缓存并重新同步
    先执行命令清理缓存并刷新依赖:

    ./gradlew clean build --refresh-dependencies
    

    也可以手动删除本地缓存目录/Users/abc/.gradle/caches,然后重新同步项目,确保旧缓存不会干扰依赖解析。

  • 确保全项目Kotlin版本一致
    检查所有模块(包括library模块)的Kotlin版本配置,统一设置为1.8.0。在根build.gradle中统一定义版本变量,避免版本不一致:
    Groovy语法:

    ext {
        kotlin_version = "1.8.0"
    }
    

    所有模块的Kotlin依赖都引用这个变量,比如:

    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    
  • 升级Android Gradle Plugin(AGP)版本
    Kotlin 1.8.0建议搭配AGP 7.4.0及以上版本,检查根build.gradle中的AGP版本并升级:

    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
    

    确保AGP与Kotlin版本兼容,避免插件版本不匹配导致的元数据解析异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 04:26:55