如何在Gradle中设置Kotlin版本?
在Gradle中自定义Kotlin版本的方法
嗨,这个问题我太熟悉了!确实Gradle会自带一个默认的Kotlin版本,但想要切换到最新(或指定)版本其实很简单,分两种常见场景和脚本语言来一步步操作:
1. 全局配置Kotlin插件版本(推荐)
最稳妥的方式是在项目根目录的构建脚本里统一指定Kotlin插件版本,这样所有模块都会复用这个版本,避免版本不一致的问题。
如果你用Groovy DSL(build.gradle)
根目录的build.gradle中添加插件版本声明:
plugins { // 针对JVM项目 id 'org.jetbrains.kotlin.jvm' version '1.9.20' apply false // 如果你是Android项目,替换成下面这行 // id 'org.jetbrains.kotlin.android' version '1.9.20' apply false }
然后在模块的build.gradle中直接应用插件即可,不用重复写版本:
plugins { id 'org.jetbrains.kotlin.jvm' // Android项目用 id 'org.jetbrains.kotlin.android' }
如果你用Kotlin DSL(build.gradle.kts)
根目录的build.gradle.kts中配置:
plugins { // JVM项目 kotlin("jvm") version "1.9.20" apply false // Android项目替换为 // kotlin("android") version "1.9.20" apply false }
模块的build.gradle.kts中应用插件:
plugins { kotlin("jvm") // Android项目用 kotlin("android") }
2. 单独指定编译器版本(可选)
如果你需要让插件版本和编译器版本不一致(不推荐,容易出兼容性问题),可以在模块的构建脚本中单独配置Kotlin编译器的版本:
Groovy DSL
kotlin { compilerOptions { apiVersion.set(KotlinVersion.KOTLIN_1_9) languageVersion.set(KotlinVersion.KOTLIN_1_9) } }
Kotlin DSL
kotlin { compilerOptions { apiVersion.set(KotlinVersion.KOTLIN_1_9) languageVersion.set(KotlinVersion.KOTLIN_1_9) } }
几个注意点
- 尽量保持Kotlin插件版本和编译器版本一致,避免出现奇怪的编译错误
- 你可以去Kotlin官方渠道获取最新的稳定版本号,替换示例中的
1.9.20 - 如果你是Android项目,要注意Kotlin版本和Android Gradle Plugin(AGP)的兼容性,比如最新的Kotlin版本可能需要搭配特定版本的AGP
这样配置后,Gradle就会乖乖使用你指定的Kotlin版本来编译代码啦!
内容的提问来源于stack exchange,提问作者msayag
相关产品推荐
相关产品推荐

