Android Gradle プラグイン 8.3.0 はメジャー リリースで、さまざまな新機能と改善措置が組み込まれています。
互換性
Android Gradle プラグイン 8.3 でサポートされている最大 API レベルは API レベル 34 です。その他の互換性情報は次のとおりです。
最小バージョン | デフォルトのバージョン | 備考 | |
---|---|---|---|
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])で依存関係を更新することもできます。[プロジェクト構造] ダイアログを使用してバージョンを更新するには、編集するモジュールと依存関係に移動し、[リクエストされたバージョン] フィールドを更新します。これらの変更を保存すると、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 の [プロジェクト構造] ダイアログには、ルート
gradle
フォルダにある複数のカタログ ファイルが表示されますが、コンポジット ビルドのカタログは表示されません。たとえば、アプリ用とコンポジット ビルド用の 2 つのカタログ ファイルがある場合、[プロジェクト構造] ダイアログにはアプリ カタログ ファイルのみが表示されます。コンポジット ビルドを使用できますが、その TOML ファイルを直接編集する必要があります。
その他の SDK 分析情報: ポリシーに関する問題
Android Studio では、Google Play SDK Index で Play ポリシー違反が報告されている公開 SDK について、build.gradle.kts
ファイルと build.gradle
ファイル、[Project Structure] ダイアログで lint 警告が表示されます。Play ポリシーに違反している依存関係は更新する必要があります。違反があると、今後 Google Play Console に公開できなくなる可能性があります。ポリシー違反の警告は、Android Studio によって表示される古いバージョンの警告を補足するものです。
Android Studio の compileSdk バージョンのサポート
プロジェクトで現在のバージョンの Android Studio でサポートされていない compileSdk
が使用されている場合、Android Studio に警告が表示されます。利用可能な場合は、プロジェクトで使用されている compileSdk
をサポートするバージョンの Android Studio に移行することも提案されます。Android Studio のアップグレードに AGP のアップグレードが必要な場合があることに注意してください。また、プロジェクトで使用されている compileSdk
が現在のバージョンの AGP でサポートされていない場合、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
に設定します。
修正された問題
Android Gradle プラグイン 8.3.0
修正された問題 | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Android Gradle プラグイン |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Dexer(D8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
lint |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
lint の統合 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
圧縮ツール(R8) |
|
Android Gradle プラグイン 8.3.1
修正された問題 | ||
---|---|---|
Android Gradle プラグイン |
|
|
lint の統合 |
|
Android Gradle プラグイン 8.3.2
修正された問題 | |||
---|---|---|---|
Android Gradle プラグイン |
|
||
lint の統合 |
|