Android Gradle プラグイン 8.3.0 はメジャー リリースで、さまざまな新機能や改善措置が組み込まれています。
互換性
Android Gradle プラグイン 8.3 がサポートする最大 API レベルは、API レベル 34 です。その他の互換性に関する情報:
最小バージョン | デフォルトのバージョン | Notes | |
---|---|---|---|
Gradle | 8.4 | 8.4 | 詳細については、Gradle のアップデートをご覧ください。 |
SDK Build Tools | 34.0.0 | 34.0.0 | SDK Build Tools をインストールまたは設定します。 |
NDK | なし | 25.1.8937393 | 別のバージョンの NDK をインストールまたは設定します。 |
JDK | 17 | 17 | 詳細については、JDK バージョンの設定をご覧ください。 |
Android Gradle プラグイン 8.3 の新機能は次のとおりです。
パッチリリース
Android Studio Iguana と Android Gradle プラグイン 8.3 のパッチリリースを以下に示します。
Android Studio Iguana | 2023.2.1 パッチ 2 と AGP 8.3.2(2024 年 4 月)
このマイナー アップデートには、こちらのバグの修正が含まれています。
Android Studio Iguana | 2023.2.1 パッチ 1 と AGP 8.3.1(2024 年 3 月)
このマイナー アップデートには、こちらのバグの修正が含まれています。
Gradle バージョン カタログのサポート
Android Studio は、TOML ベースの Gradle バージョン カタログをサポートしています。この機能により、依存関係を 1 か所で管理し、モジュールまたはプロジェクト間で依存関係を共有できます。Android Studio では、エディタの候補表示や [Project Structure] ダイアログとの統合により、バージョン カタログを簡単に構成できるようになりました。Gradle バージョン カタログを設定および構成する方法、またはビルドをバージョン カタログに移行する方法をご確認ください。
コード補完とナビゲーション
Android Studio では、TOML ファイル形式のバージョン カタログを編集する場合、またはバージョン カタログからビルドファイルに依存関係を追加する場合に、コード補完を利用できます。コード補完を使用するには、Ctrl+Space キー(macOS では command+Space キー)を押します。また、Ctrl+b(macOS では command+b)を押すと、アプリの build.gradle
ファイル内の依存関係の参照からバージョン カタログ内の宣言されている場所にすばやく移動できます。
[Project Structure] ダイアログとの統合
プロジェクトで、TOML ファイル形式で定義されたバージョン カタログを使用している場合は、Android Studio の [Project Structure] ダイアログの [Variables] ビュー([File] > [Project Structure] > [Variables])で、定義した変数を編集できます。バージョン カタログごとに、そのカタログの変数を一覧表示するプルダウンがあります。変数を編集するには、その値をクリックして上書きします。これらの変更を保存すると、それに応じて TOML ファイルが更新されます。
依存関係は、[Project Structure] ダイアログの [Dependencies] ビュー([File] > [Project Structure] > [Dependencies])で更新することもできます。[Project Structure] ダイアログを使用してバージョンを更新するには、編集するモジュールと依存関係に移動して、[Requested Version] フィールドを更新します。これらの変更を保存すると、それに応じて TOML ファイルが更新されます。依存関係のバージョンが変数を使用して定義されている場合、この方法でバージョンを直接更新すると、変数がハードコードされた値に置き換えられます。また、[Project Structure] ダイアログを使用するかどうかにかかわらず、ビルドファイルから依存関係を削除しても、バージョン カタログから依存関係は削除されません。
既知の問題と制限事項
Android Studio での Gradle バージョン カタログのサポートに関する既知の問題と制限事項は次のとおりです。
Kotlin スクリプト ファイル内のプラグイン エイリアス宣言のハイライト表示中にエラーが発生しました。
alias(libs.plugins.example)
形式のプラグイン宣言を追加すると、エディタによってlibs
の部分に赤の下線が追加されます。これは Gradle バージョン 8.0 以前における既知の問題であり、Gradle の今後のリリースで解決される予定です。Android Studio は、TOML 形式のバージョン カタログのみをサポートしています。現在、Android Studio のコード補完、ナビゲーション、[Project Structure] ダイアログのサポートは、TOML ファイル形式で定義されたバージョン カタログでのみ使用できます。ただし、
settings.gradle
ファイルにバージョン カタログを直接追加し、その依存関係をプロジェクトで使用することもできます。KTS ビルドファイルのナビゲーションはサポートされていません。Kotlin スクリプトを使用して作成されたビルドファイルでは、Ctrl+クリック(macOS では Command+クリック)を使用してバージョン カタログの依存関係定義に移動することはできません。
Firebase Assistant は、ビルド スクリプトに依存関係を直接追加します。Firebase Assistant は、バージョン カタログではなく、ビルド スクリプトに依存関係を直接追加します。
「使用状況の検索」機能はサポートされていません。ビルドファイルが KTS と Groovy のどちらにあるかにかかわらず、他のビルドファイルのバージョン カタログ変数の使用状況の検索はまだサポートされていません。つまり、バージョン カタログの変数定義を Ctrl キーを押しながらクリック(macOS では command キーを押しながらクリック)しても、その変数が使用されているビルドファイルは作成されません。
Android Studio の [Project Structure] ダイアログでは、ルートの
gradle
フォルダ内にある複数のカタログ ファイルが表示されますが、複合ビルドのカタログは表示されません。たとえば、2 つのカタログ ファイル(1 つはアプリ用、もう 1 つは複合ビルド用)がある場合、[Project Structure] ダイアログにはアプリカタログ ファイルのみが表示されます。複合ビルドを使用することもできますが、その TOML ファイルを直接編集する必要があります。
SDK に関する追加の分析情報: ポリシーに関する問題
Android Studio では、Google Play SDK Index で Play ポリシー違反がある公開 SDK について、build.gradle.kts
ファイルと build.gradle
ファイル、[Project Structure] ダイアログに lint 警告が表示されます。Google Play ポリシーに違反する依存関係は、今後 Google Play Console に公開できなくなる可能性があるため、更新する必要があります。ポリシー違反の警告は、Android Studio によって表示される古いバージョンの警告を補足するものです。
Android Studio の compileSdk バージョンのサポート
現在のバージョンの Android Studio でサポートされていない compileSdk
がプロジェクトで使用されている場合、Android Studio は警告を表示します。可能であれば、プロジェクトで使用されている compileSdk
をサポートするバージョンの Android Studio に移行することもおすすめします。Android Studio をアップグレードするには、AGP のアップグレードも必要になる場合があるので注意してください。プロジェクトで使用されている compileSdk
が現在のバージョンの AGP でサポートされていない場合、[Build] ツール ウィンドウにも警告が表示されます。
lint の動作の変更
Android Gradle プラグイン 8.3.0-alpha02 以降では、モジュールで lint を実行すると、モジュールのメイン コンポーネントとテスト コンポーネントに対して別々の lint 分析タスクが実行されます。この変更は、パフォーマンスの向上を目的としています。以前の動作に戻すには、gradle.properties
ファイルで android.experimental.lint.analysisPerComponent=false
を設定します。
デフォルトでリソースの正確な圧縮
デフォルトでは、正確なリソース圧縮(resources.arsc
ファイルから未使用のエントリが削除され、未使用のリソース ファイルが除外されます)がオンになっています。この圧縮を有効にすると、リソース テーブルが縮小され、参照された res
フォルダ エントリのみが APK に含まれるようになります。
正確なリソース圧縮を無効にするには、プロジェクトの gradle.properties
ファイルで android.enableNewResourceShrinker.preciseShrinking
を false
に設定します。