Android Gradle プラグイン 8.10 のリリースノート

JCenter リポジトリは、2021 年 3 月 31 日に読み取り専用になりました。詳細については、JCenter サービスの更新をご覧ください。

Android Studio ビルドシステムは Gradle をベースにしており、Android Gradle プラグインは Android アプリのビルドに役立つ複数の機能を追加します。Android Gradle プラグイン(AGP)は通常、Android Studio に同期してアップデートされますが、プラグイン(および他の Gradle システム)は Android Studio から独立して実行でき、個別にアップデートできます。

このページでは、Gradle ツールを最新の状態に保つ方法と、最近のアップデート内容について説明します。過去の Android Gradle プラグイン バージョンのリリースノートについては、過去のリリースノートをご覧ください。

このバージョンの Android Gradle プラグインで修正された項目については、クローズされた問題をご覧ください。

Android Gradle プラグインの今後の破壊的変更の概要については、 Android Gradle プラグインのロードマップをご覧ください。

Gradle で Android ビルドを設定する方法の詳細については、下記のページをご覧ください。

Gradle ビルドシステムの詳細については、Gradle のユーザーガイドをご覧ください。

Android Gradle プラグインのアップデート

Android Studio をアップデートすると、Android Gradle プラグインを利用可能な最新バージョンに自動的にアップデートするように促すメッセージが表示されることがあります。アップデートに同意するか、プロジェクトのビルド要件に基づいて手動でバージョンを指定するかを選択できます。

プラグインのバージョンは、Android Studio の [File] > [Project Structure] > [Project] メニュー、または最上位の build.gradle.kts ファイルで指定できます。プラグインのバージョンは、その Android Studio プロジェクトでビルドされたすべてのモジュールに適用されます。次の例では、build.gradle.kts ファイルからプラグインをバージョン 8.10.0 に設定しています。

Kotlin

plugins {
    id("com.android.application") version "8.10.0" apply false
    id("com.android.library") version "8.10.0" apply false
    id("org.jetbrains.kotlin.android") version "2.1.20" apply false
}

Groovy

plugins {
    id 'com.android.application' version '8.10.0' apply false
    id 'com.android.library' version '8.10.0' apply false
    id 'org.jetbrains.kotlin.android' version '2.1.20' apply false
}

注意: バージョン番号には、'com.android.tools.build:gradle:8.10.+' などの動的な依存関係を使用しないでください。予期しないバージョンのアップデートが起こり、バージョンの相違を解決するのが難しくなる可能性があるためです。

指定したプラグイン バージョンがダウンロードされていない場合、次回のプロジェクトのビルド時に Gradle によってダウンロードされます。または、Android Studio のメニューバーから [File] > [Sync Project with Gradle Files] をクリックします。

Gradle のアップデート

Android Studio をアップデートすると、Gradle を利用可能な最新バージョンにアップデートするように促すメッセージが表示されることもあります。アップデートに同意するか、プロジェクトのビルド要件に基づいて手動でバージョンを指定するかを選択できます。

次の表に、Android Gradle プラグインの各バージョンに必要な Gradle のバージョンを示します。最高のパフォーマンスを得るには、Gradle とプラグインの両方について、最新バージョンを使用してください。

プラグインのバージョン必要な最小 Gradle バージョン
8.98.11.1
8.88.10.2
8.78.9
8.68.7
8.58.7
8.48.6
8.38.4
8.28.2
8.18.0
8.08.0
7.47.5

古いバージョン

プラグインのバージョン必要な Gradle のバージョン
7.37.4
7.27.3.3
7.17.2
7.07.0
4.2.0 以降6.7.1
4.1.0 以降6.5 以降
4.0.0 以降6.1.1 以降
3.6.0 - 3.6.45.6.4 以降
3.5.0 - 3.5.45.4.1 以降
3.4.0 - 3.4.35.1.1 以降
3.3.0 - 3.3.34.10.1 以降
3.2.0 - 3.2.14.6 以降
3.1.0 以降4.4 以降
3.0.0 以降4.1 以降
2.3.0 以降3.3 以降
2.1.3 - 2.2.32.14.1 - 3.5
2.0.0 - 2.1.22.10 - 2.13
1.5.02.2.1 - 2.13
1.2.0 - 1.3.12.2.1 - 2.9
1.0.0 - 1.1.32.2.1 - 2.3

Gradle のバージョンは、Android Studio の [File] > [Project Structure] > [Project] メニューで指定するか、コマンドラインを使用して Gradle のバージョンを更新します。推奨される方法は、gradlew スクリプトを更新する Gradle ラッパー コマンドライン ツールを使用することです。次の例では、Gradle Wrapper を使用して Gradle のバージョンを 8.10 に設定しています。Gradle と Gradle Wrapper の両方をアップグレードするには、このコマンドを2 回実行する必要があります(詳細については、Gradle Wrapper のアップグレードをご覧ください)。

gradle wrapper --gradle-version 8.10

ただし、AGP を更新したばかりで、現在の Gradle バージョンに準拠していない場合など、失敗することもあります。この場合、gradle/wrapper/gradle-wrapper.properties ファイルの Gradle 配布リファレンスを編集する必要があります。次の例では、gradle-wrapper.properties ファイルで Gradle のバージョンを 8.10 に設定しています。

...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.10-bin.zip
...

Android Gradle プラグインと Android Studio の互換性

Android Studio ビルドシステムは Gradle をベースにしており、Android Gradle プラグイン(AGP)は Android アプリのビルドに役立つ複数の機能を追加します。次の表に、Android Studio の各バージョンに必要な AGP のバージョンを示します。

Android Studio バージョン 必要な AGP バージョン
Meerkat Feature Drop | 2024.3.2 3.2-8.10
Meerkat | 2024.3.1 3.2 ~ 8.9
Ladybug Feature Drop | 2024.2.2 3.2-8.8
Ladybug | 2024.2.1 3.2-8.7
Koala Feature Drop | 2024.1.2 3.2 ~ 8.6
Koala | 2024.1.1 3.2 ~ 8.5
Jellyfish | 2023.3.1 3.2-8.4
Iguana | 2023.2.1 3.2-8.3
Hedgehog | 2023.1.1 3.2-8.2
Giraffe | 2022.3.1 3.2-8.1
Flamingo | 2022.2.1 3.2-8.0

古いバージョン

Android Studio バージョン 必要な AGP バージョン
Electric Eel | 2022.1.1 3.2-7.4
Dolphin | 2021.3.1 3.2-7.3
Chipmunk | 2021.2.1 3.2-7.2
Bumblebee | 2021.1.1 3.2-7.1
Arctic Fox | 2020.3.1 3.1-7.0

Android Gradle プラグインの新機能については、Android Gradle プラグインのリリースノートをご覧ください。

Android API レベルをサポートするツールの最小バージョン

特定の API レベルをサポートする Android Studio と AGP には最小バージョンがあります。プロジェクトの targetSdk または compileSdk で必要とされるバージョンよりも低いバージョンの Android Studio または AGP を使用すると、予期しない問題が発生する可能性があります。Android OS のプレビュー版をターゲットとするプロジェクトでは、最新プレビュー版の Android Studio と AGP の使用をおすすめします。Android Studio のプレビュー版を安定版と一緒にインストールできます。

Android Studio と AGP の最小バージョンは次のとおりです。

API レベル Android Studio の最小バージョン AGP の最小バージョン
36.0 Meerkat | 2024.3.1 パッチ 1 8.9.1
35 Koala Feature Drop | 2024.2.1 8.6.0
34 Hedgehog | 2023.1.1 8.1.1
33 Flamingo | 2022.2.1 7.2

バージョニングの変更(2020 年 11 月)

基盤となる Gradle ビルドツールのバージョン番号により近い番号で管理できるよう、Android Gradle プラグイン(AGP)のバージョン番号の付け方を変更します。

主な変更点は次のとおりです。

  • AGP はセマンティック バージョニングを使用するようになり、互換性のない変更はメジャー リリースとして扱われます。

  • Gradle のメジャー リリースに合わせて、AGP のメジャー バージョンを年 1 回リリースします。

  • AGP 4.2 の次のリリースはバージョン 7.0 となり、Gradle のバージョンも 7.x にアップグレードする必要があります。AGP のメジャー リリースのたびに、基盤となる Gradle ツールのメジャー バージョン アップグレードが必要になります。

  • API はメジャー リリースの約 1 年前からサポート終了となり、それと同時に代替機能が利用可能になります。サポートが終了した API は、約 1 年後のメジャー アップデート時に削除されます。

互換性

Android Gradle プラグイン 8.10 でサポートされている最大 API レベルは API レベル 35 です。その他の互換性情報は次のとおりです。

最小バージョン デフォルトのバージョン 備考
Gradle 8.11.1 8.11.1 詳細については、Gradle のアップデートをご覧ください。
SDK Build Tools 35.0.0 35.0.0 SDK Build Tools をインストールまたは設定します。
NDK なし 27.0.12077973 別のバージョンの NDK をインストールまたは設定します。
JDK 17 17 詳細については、JDK バージョンの設定をご覧ください。

修正された問題

Android Gradle プラグイン 8.10.0

修正された問題
Android Gradle プラグイン
AGP は、まもなくリリースされる API 35 をサポートしていることを宣言する必要があります
統計情報が有効になっている場合に AndroidComponentsExtension.addSourceSetConfigurations が破損する
AGP 8.8.0 でプロジェクトを分離して設定した場合、プロジェクト「:app」が「Project.group」と「Project.version」にアクセスできない
初期化スクリプト「C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle」の行: 162
初期化スクリプト「C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle」の行: 162
次のライブラリをストリップできないため、そのままパッケージ化
「分離された分割」情報を R8 に渡すサポートを追加
Android Studio からアプリを実行すると、NoClassDefFoundError と ClassNotFoundException でアプリがクラッシュする
Android Gradle プラグイン: PackageRenderscriptTask と ProcessJavaResTask で Sync.getDestinationDir() のオーバーライドを回避
単体テストに統合された Java リソースを使用する
分離されたプロジェクト: DeclarativeSchemaModel のシリアル化エラー
Dexer(D8)
Baklava での android.os.Build.VERSION_CODES_FULL のバックポートが正しくない
AutoClosable の脱糖処理で、ExecutorService.close がサポートされていると報告されなくなりました
lint
シール インターフェースに対する「@Parcelize」アノテーションに対する lint 警告が誤っている
AS 2024.3.1.4 で、Kotlin テキストの編集中に断続的にハングする。
CredentialManagerSignInWithGoogle の誤検出 lint エラー
Aligned16KB リントリチェックでの ConcurrentModificationException
lint: AGP 8.10.0-alpha05 で SyntheticAccessor の誤検出が大量にトリガーされる
テストソースで NewApi を有効にできるようにする
Android Studio でコード検査後に [LintIdeFix] ボタンを押すとどうなりますか?
警告メッセージのテキストのエラー: 「不要です。ここでは、`Build.VERSION.SDK_INT >= Build.VERSION_CODES.O` が *決して* true になりません(`SDK_INT` ≥ 26、< 31)」
圧縮ツール(R8)
AGP 8.9.0 に更新した後に署名付き APK を生成できない
割り当てサイトでの「書き込み前に読み取り」プロパティの分析で、クラスファイルを生成する際にエラーが発生する
バージョン 8.6.* の R8 圧縮ツールの Java SPI に関する問題8.7.*、8.8.0
クラス初期化時の安全なキャストによる ClassCastException
AGP 8.9 のリソース圧縮の問題により、動的機能モジュールでリソースが欠落する
com.android.tools.r8.internal.H5.x() を呼び出せません