JetBrains Amper 0.10 ,期待它未来替代 Gradle

张开发
2026/4/18 8:00:18 15 分钟阅读

分享文章

JetBrains Amper 0.10 ,期待它未来替代 Gradle
最近 JetBrains 发布了Amper 0.10做为一个面向 Kotlin / Java 的实验性构建和配置工具他的目标是通过更简单的YAML配置去支撑 Kotlin Multiplatform、Android、iOS、JVM 等项目管理然后再通过 Amper CLI 完成构建、运行和工具集成。这一次Amper 0.10更新之所以要聊聊是因为它经过几年发展它已经相对变得完善了不少这次 0.10 主要包括了JDK provisioning可以自动下载和安装匹配的 JDK默认是 JDK 21支持在module.yaml里声明需要的版本Maven to Amper 转换可以读取现有pom.xml生成project.yaml/module.yaml支持第三方 Kotlin compiler plugins默认工具链版本包含 AndroidminSdk 23、Kotlin 2.3.20、Compose 1.10.3、KSP 2.3.6那 Amper 有什么用简答来说通过 Amper 可以替代现在烦人的 Gradle AGP 如今的体验可以说是又臭又长特别是现在 KMP 时代build.gradle.kts往往越来越厚 而 Amper 的目的是通过YAML来让 IDE 更容易理解项目结构、做自动补全、特别是针对 KMP 用YAML来声明模块、平台、依赖和平台特定配置。看 2024–2026 的更新Amper 不断补充的是project file tooling、Compose resources、KSP2、Android release builds、run/test UX这些能力可以看出来在一步一步地侵蚀 Gradle 原本的场景。特别是现在对于 Amper 来说standalone version 脱离 Gradle已经变成主要发展方向Gradle 版本逐步弱化而对 Android 来说Amper 可以让项目配置更省心JDK 自动准备好可以灵活配置模块定义更直观KMP/Compose/Android 放在同一套声明模型下虽然一开始 Amper 是建立在 Gradle 上的配置层但是后来它自己也逐步发展出 standalone CLI、独立命令体系和自己的项目文件也就是它既可以在 Gradle 生态逐步发展也可以独立出自己的运行模式只是目前越来越脱离 Gradle大概类似于Amper JetBrains 在 Kotlin/KMP/Android 构建体验上的新抽象层和新入口。因为 Gradle 本质是一个可编程 DSL所以它既可以写逻辑又可以写条件还可以 hook 生命周期所以老项目的结果往往就是配置文件逐渐变成“代码工程本身的一部分”。而这个问题在 KMP 上变得更明显因为多平台以来之后环境脚本和 CI 也变得更加复杂但是 Amper 不一样Amper 的官方定义是一个面向 Kotlin 和 Java 的构建工具使用 YAML 进行声明式配置并提供 CLI 和 IDE 集成。例如在之前 Gradle 常见写法是kotlin { android() ios() ​ sourceSets { val commonMain by getting { dependencies { implementation(xxx) } } } }而在 Amper 里写法就是product: type: app ​ platforms: - android - ios ​ dependencies: - xxx那为什么说它会变得更好因为它的集成度和全自动化例如 Amper 可以自动下载 JDK 和自动匹配版本用官方的话说就是开发者可以在不手动安装任何东西的情况下就能运行项目。也就是用 Amper 的目的是它自己就可以负责“环境一致性”特别是前面我们说过 2024–2026 的各种更新内容有project model项目结构Compose resources资源处理KSP2代码生成Android release builds发布构建run / test UX运行与测试compiler plugins编译扩展JDK provisioning环境管理从这些更新可以看到一个非常清晰的覆盖路径路径几乎就是 Gradle 在 Android 项目里的核心职责。另外 Amper 的角度 构建工具不只是单纯的“工具”而是带 toolchain、默认版本、项目模型的一体化生态产品并且 Declarative 的 YAML/TOML 也在逐步替代 Gradle DSL 因为 AI 时代DSL 太强IDE 太难理解特别是多平台下必须要一个更简单的模型。还有个适配小技巧复制 gradle 然后粘贴到 module.yaml 时它会自动转换为 Amper 适配的模式所以目前虽然Amper 0.10还不是正式的 Gradle 的替代者但它已经在系统性接管 Gradle 的职责至少在 Kotlin/KMP/Android 的 JetBrains 生态里Amper 已经不只是一个实验配置层而是在被持续推进成为新的构建入口。所以可以预期未来 Amper 完全替代 Gradle 的哪一天就可以不再面对这个又臭又大的 AGP 了。

更多文章