{ Android | Kotlin } Gradle Plugin in 2026 - Preparing for AGP 10.0.0
RyuNen344android app developer
ちょっと Kotlin Multiplatform (KMP) 対応 / 最新の Kotlin にしてみたかっただけなのになぜだかビルドが通らない・・・・なんてことはありませんか? Android Gradle Plugin (AGP) 9.0.0 が 2026 年 1 月にリリースされ, 2026 年後半に予定されている 10.0.0 のリリースが迫っています。 今こそ AGP 10.0.0 と KMP 化に備えて, build.gradle を綺麗にするベストなタイミングです。 AGP 9 では `Built-in Kotlin` が導入され、旧 Variant API / DSL API への依存を避ける移行がより重要になりました。AGP 10 では旧 DSL API へのオプトアウトが削除予定であり、Convention Plugin やビルドロジックを Public API ベースへ移行する必要があります。 KMP 対応が進む中で、Android の build.gradle や Convention Plugin の書き方は大きな転換点を迎えています。`Built-in Kotlin` や AGP 8.10.0 で登場した `com.android.kotlin.multiplatform.library` はその一例と言えるでしょう。 特に混乱しやすいのが SourceSet の扱いです。従来の `com.android.library` + KGP 構成では、Android 固有の SourceSet や Variant は AGP が暗黙的に解決し、KMP 対応では主に Android 以外の SourceSet を意識すれば済む場面が多くありました。しかし `com.android.kotlin.multiplatform.library` や Built-in Kotlin によって AGP 側で Kotlin / KMP との統合が進むと、Android も KMP のターゲットのひとつとして扱う必要があります。Android / JVM / iOS / Web / Desktop それぞれの SourceSet、依存関係、コンパイル設定をどの API・どのスコープに書くべきかが、AGP 9 以降の build.gradle を理解するうえで重要になります。 本セッションでは、AGP 8 以降で進んできた API 整理の背景を、Gradle API、Kotlin Gradle Plugin (KGP)、AGP の関係から読み解きます。そのうえで、旧 API に依存した build.gradle / Convention Plugin を、AGP 9/10 時代の Public API に沿ってどのように書き換えるかを紹介します。 AGP の変更点を単なる破壊的変更として追うのではなく、なぜその設計に向かっているのかを理解し、KMP 対応を見据えた Android Build の Gradle 構成を組み立てられるようになることを目指します。 取り扱うトピック: 1. AGP 8/9/10でAPIが変わる理由: Variant API / DSL API / Internal APIの整理 2. AGP APIに沿った build.gradle / Convention Plugin の書き方 3. Built-in Kotlin以降の AGP と KGP の関係 4. Android Library を KMP ready にするための Gradle構成
対象者
- AGP の変更に戸惑っている方 - Android Library を KMP 対応させたい方 - AGP 9/10 対応の Gradle Plugin を書きたい方