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

求推荐便捷将build.gradle Groovy转换为KTS的工具/插件/脚本

从Groovy DSL迁移到Kotlin DSL的实用工具与技巧

官方Gradle内置转换命令

Gradle官方提供了原生的转换辅助工具,在项目根目录执行以下命令:

gradle init --type kotlin-dsl

它会自动扫描项目中所有Groovy格式的build.gradle文件,生成对应的build.gradle.kts文件,能处理大部分基础语法转换——比如自动给implementation补全括号,修正compileOptions这类闭包的语法差异,把Groovy里的无等号属性赋值转换成Kotlin要求的带等号写法。

Android Studio内置迁移助手

Android Studio Giraffe及后续版本自带了一键转换功能:

  • 右键点击目标build.gradle文件,选择Convert File to Kotlin DSL
  • IDE会实时检测转换后的语法错误,并给出快速修复建议。比如针对compileOptions的报错,会自动把Groovy代码:
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    
    修正为KTS的正确写法:
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }
    

社区自定义转换脚本

可以用社区维护的批量转换脚本,快速处理重复语法问题:

  1. 在项目根目录的build.gradle中添加如下任务:
    task convertToKts {
        doLast {
            fileTree('.').include('**/*.gradle').exclude('**/*.gradle.kts').each { file ->
                def ktsFile = new File(file.path.replace('.gradle', '.gradle.kts'))
                def content = file.text
                // 补全implementation的括号
                content = content.replaceAll(/implementation\s+['"]/, "implementation(\"")
                content = content.replaceAll(/['"]\s*$/, "\")")
                // 给属性赋值添加等号
                content = content.replaceAll(/(\w+Compatibility)\s+(\w+\.\w+)/, "\$1 = \$2")
                ktsFile.write(content)
            }
        }
    }
    
  2. 执行./gradlew convertToKts,脚本会批量处理基础语法转换,之后只需手动修正少量复杂配置(比如自定义插件、动态依赖版本逻辑)。

手动修正核心技巧

工具转换失效时,记住几个关键语法差异:

  • Groovy中省略的括号必须补全:implementation 'com.android.tools.build:gradle:7.4.0' → implementation("com.android.tools.build:gradle:7.4.0")
  • Groovy闭包内的属性赋值要加等号:minSdkVersion 21 → minSdkVersion = 21
  • 集合语法转换:Groovy的['a', 'b'] → Kotlin的listOf("a", "b")

内容的提问来源于stack exchange,提问作者Ahmad Arif Faizin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 09:52:12