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

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.4.0 に設定しています。

Kotlin

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

Groovy

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

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

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

Gradle のアップデート

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

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

プラグインのバージョン最小限必要な Gradle バージョン
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 のバージョンを更新できます。 推奨される方法は、Gradle ラッパー コマンドライン ツールを使用することです。これにより、gradlew スクリプトが更新されます。次の例では、Gradle ラッパーを使用して Gradle のバージョンを 8.4 に設定しています。Gradle と Gradle ラッパー自体の両方をアップグレードするには、このコマンドを 2 回実行する必要があります(詳細については、Gradle ラッパーのアップグレードをご覧ください)。

gradle wrapper --gradle-version 8.4

ただし、場合によっては失敗することがあります。たとえば、AGP をアップデートしたばかりで、現在の Gradle バージョンに準拠していない場合などです。この場合、gradle/wrapper/gradle-wrapper.properties ファイル内の Gradle ディストリビューション参照を編集する必要があります。次の例では、gradle-wrapper.properties ファイルで Gradle のバージョンを 8.4 に設定しています。

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

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

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

Android Studio バージョン 必要な AGP バージョン
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 の最小バージョン
VanillaIceCream のプレビュー Jellyfish | 2023.3.1 8.4
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.3 がサポートする最大 API レベルは、API レベル 34 です。 その他の互換性に関する情報は次のとおりです。

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

Android Gradle プラグイン 8.4 の新機能は次のとおりです。

パッチリリース

Android Studio Jellyfish と Android Gradle プラグイン 8.4 のパッチリリースを以下に示します。

Android Studio Jellyfish | 2023.3.1 パッチ 2、AGP 8.4.2(2024 年 6 月)

重要なセキュリティ アップデート: Android Studio Iguana | 2023.2.1 以降で利用可能な GitHub プラグインセキュリティの脆弱性により、不正な第三者にアクセス トークンが漏洩する可能性があります。

修正: JetBrains は IntelliJ プラットフォーム製品の問題を解決しました。修正は現在 Android Studio Jellyfish | 2023.3.1 パッチ 2(2023.3.1.20)で公開されています。

stable チャンネルにすでに Android Studio ビルドがある場合は、[Help] > [Check for Updates](macOS では [Android Studio] > [Check for Updates])をクリックすると、アップデートを取得できます。それ以外の場合は、最新の安定版ビルドをダウンロードしてください。

また、IDE で GitHub の pull リクエスト機能を積極的に使用している場合は、プラグインで使用されている GitHub トークンを取り消すことを強くおすすめします。プラグインは OAuth 統合または個人用アクセス トークン(PAT)を使用できるため、両方を確認して、必要に応じて無効にしてください。

  • OAuth 統合のアクセス権を取り消すには、[Applications] > [Authorized OAuth Apps] に移動して、JetBrains IDE Integration トークンのアクセス権を取り消します。
  • PAT へのアクセス権を取り消すには、個人用アクセス トークンに移動し、GitHub プラグインに対して発行されたトークンを削除します。デフォルトのトークン名は IntelliJ IDEA GitHub 統合プラグインですが、カスタム名を使用している場合もあります。

トークンのアクセス権を取り消した後、プラグインをもう一度設定して、Git オペレーションを含むすべてのプラグイン機能が再び動作するようにする必要があります。

ご迷惑をおかけしましたことをお詫び申し上げます。コードとデータを保護するために直ちに更新してください。

このマイナー アップデートには、こちらのバグの修正も含まれています。

Android Studio Jellyfish | 2023.3.1 パッチ 1、AGP 8.4.1(2024 年 5 月)

このマイナー アップデートには、こちらのバグの修正が含まれています。

ライブラリ クラスは縮小される

Android Gradle プラグイン 8.4 以降では、Android ライブラリ プロジェクトを圧縮すると、プロジェクト間での公開用に圧縮されたプログラム クラスが公開されます。つまり、アプリが圧縮された Android ライブラリ サブプロジェクトの依存している場合、APK には圧縮された Android ライブラリ クラスが含まれます。APK にクラスが不足している場合、ライブラリの keep ルールの調整が必要になることがあります。

AAR をビルドして公開する場合、ライブラリが依存するローカル jar は AAR に圧縮されずに組み込まれるため、コード圧縮ツールは実行されません。

以前の動作に戻すには、gradle.properties ファイルで android.disableMinifyLocalDependenciesForLibraries を設定し、バグを報告します。AGP の将来のバージョンでは、このフラグは削除されます。