如何为Gradle运行时设置指定的Kotlin版本
Gradle 6.7.1 内置Kotlin运行时版本升级方案
适用于不升级Gradle主版本、需要提升内置Kotlin版本适配Jetpack Compose等依赖的场景,操作步骤如下:
- 定位当前Gradle Wrapper使用的Gradle根目录
在项目根目录执行命令,直接输出路径:
Mac环境下默认路径格式为./gradlew "println(gradle.gradleHomeDir)"~/.gradle/wrapper/dists/gradle-6.7.1-all/<随机哈希串>/gradle-6.7.1/ - 替换内置Kotlin依赖包
进入上述路径下的lib目录,删除所有文件名带kotlin-*1.3.72*标识的jar包,常见待删除文件包括:- kotlin-compiler-embeddable-1.3.72.jar
- kotlin-daemon-embeddable-1.3.72.jar
- kotlin-reflect-1.3.72.jar
- kotlin-script-runtime-1.3.72.jar
- kotlin-stdlib-1.3.72.jar
- kotlin-stdlib-common-1.3.72.jar
下载对应目标版本(适配Compose 1.1.1选择1.5.10即可)的同名Kotlin jar包,将版本号替换为1.5.10后放入该lib目录。
- 修改启动脚本的版本校验逻辑
进入Gradle根目录下的bin目录,分别编辑gradle(Unix/macOS启动脚本)和gradle.bat(Windows启动脚本),找到脚本中所有硬编码的1.3.72Kotlin版本标识,统一替换为目标版本1.5.10,避免启动时版本校验失败。 - 验证修改结果
回到项目根目录重新执行版本查询命令:
输出内容中Kotlin版本行显示为1.5.10即修改完成。./gradlew -v
注意:
- Gradle 6.x系列内置运行时最高兼容Kotlin 1.6.x版本,不要替换为1.7及以上版本,否则会出现Groovy与Kotlin互操作的类兼容错误,导致构建失败
- 替换完成后同步将项目build.gradle中声明的kotlin-gradle-plugin版本改为1.5.10,和运行时版本保持一致,避免构建时出现版本不匹配提示
- 如果后续重新执行Gradle Wrapper下载、更新了Gradle分发包,需要重复上述替换步骤,新下载的原生分发包仍会自带1.3.72版本的Kotlin
内容的提问来源于stack exchange,提问作者michael
相关产品推荐
相关产品推荐

