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] メニューで指定するか、コマンドラインを使用して更新できます。おすすめの方法は、gradlew スクリプトを更新する Gradle ラッパー コマンドライン ツールを使用することです。次の例では、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 バージョン
コアラ | 2024 年 1 月 1 日 3.2 ~ 8.5
クラゲ | 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 のプレビュー クラゲ | 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 に欠落しているクラスがある場合、ライブラリ保持ルールの調整が必要になることがあります。

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

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