You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Android Studio中Kotlin插件与库版本一致却触发版本不匹配警告

解决Kotlin插件与库版本一致却弹出警告的问题

我之前也碰到过这个让人困惑的警告——明明配置的Kotlin插件和库版本完全一致,Android Studio却还是弹出“Kotlin plugin version is not the same as library version”的提示。结合你给出的根项目build.gradle配置,试试下面这几个排查和解决步骤:

1. 检查core模块的Kotlin依赖配置

首先确认core/build.gradle里的Kotlin依赖是引用根项目定义的统一版本,而不是硬编码的版本号:
正确的写法应该是:

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    // 其他依赖...
}

避免硬编码版本(如下方示例),否则容易出现同步不及时的版本差异:

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.40"
}

2. 清理Gradle缓存并重新同步

有时候Android Studio的缓存会导致版本检测异常,按以下步骤操作:

  • 点击顶部菜单栏的 File -> Sync Project with Gradle Files,强制同步配置
  • 然后执行 Build -> Clean Project,清理旧的构建文件
  • 最后运行 Build -> Rebuild Project,重新构建整个项目

3. 确认Android Studio的Kotlin插件版本

打开File -> Settings -> Plugins,找到Kotlin插件,查看它的版本是否和你在buildscript里配置的kotlin_version(1.2.40)一致:

  • 如果插件版本更高,建议要么把根项目的kotlin_version升级到插件版本(更推荐,保持最新稳定版),要么降级插件到1.2.40版本
  • 插件版本必须和配置的编译版本严格匹配,否则即使依赖版本正确,也可能触发警告

4. 排查间接依赖的Kotlin版本冲突

有些第三方库可能会间接引入不同版本的Kotlin标准库,导致版本不一致。你可以通过Gradle的依赖分析命令来检查:
在项目根目录的Terminal里执行:

# Mac/Linux
./gradlew core:dependencies

# Windows
gradlew core:dependencies

在输出结果里搜索org.jetbrains.kotlin,如果发现有其他版本的依赖,可以在根项目的build.gradle里添加强制统一版本的配置:

allprojects {
    repositories {
        google()
        jcenter()
    }
    // 添加这段配置强制统一Kotlin版本
    configurations.all {
        resolutionStrategy {
            force "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
            force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
            // 如果用到了其他Kotlin库(如kotlin-reflect)也需要添加
        }
    }
}

按以上步骤操作后,应该就能解决这个误报的警告了。

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

火山引擎 最新活动