最近 JetBrains 發布了 Amper 0.10。作為一個面向 Kotlin / Java 的實驗性建置與設定工具,它的目標是透過更簡單的 YAML 設定來支援 Kotlin Multiplatform、Android、iOS、JVM 等專案管理,接著再透過 Amper CLI 完成建置、執行與工具整合。
這次之所以要聊 Amper 0.10,是因為它經過幾年發展後,已經相對變得完整不少;這次 0.10 主要包含:
module.yaml 中宣告所需版本pom.xml,產生 project.yaml / module.yamlminSdk 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 可以讓專案設定更省心:
雖然一開始 Amper 是建立在 Gradle 上的設定層,但後來它也逐步發展出 standalone CLI、獨立命令體系與自己的專案檔,也就是說,它既可以在 Gradle 生態中持續發展,也可以獨立成自己的執行模式;只是目前看起來,它越來越脫離 Gradle,大概可以理解成:
Amper = JetBrains 在 Kotlin / KMP / Android 建置體驗上的新抽象層與新入口。

因為 Gradle 本質上是一個可程式化的 DSL,所以它既可以寫邏輯,也可以寫條件,還可以掛接生命週期,因此老專案的結果往往就是:設定檔逐漸變成「程式工程本身的一部分」。
而這個問題在 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 各種更新內容包括:
從這些更新可以看出一條非常清晰的覆蓋路徑,幾乎就是 Gradle 在 Android 專案裡的核心職責。

另外從 Amper 的角度來看,建置工具不只是單純的「工具」,而是包含 toolchain、預設版本、專案模型的一體化生態產品;而且宣告式的 YAML / TOML 也正逐步取代 Gradle DSL,因為在 AI 時代:
DSL 太強,IDE 太難理解,特別是多平台情境下,必須要有一個更簡單的模型。
還有一個相容小技巧:複製 Gradle,然後貼到 module.yaml 時,它會自動轉換成 Amper 適配的模式:
所以,目前雖然 Amper 0.10 還不是正式的 Gradle 替代者,但它已經在系統性接管 Gradle 的職責。至少在 Kotlin / KMP / Android 的 JetBrains 生態中,Amper 已經不只是實驗性的設定層,而是持續被推進成為新的建置入口。
因此可以預期,未來等 Amper 完全取代 Gradle 的那一天,就可以不用再面對那個又臭又大的 AGP 了。