Android Gradle プラグイン 7.2.0(2022 年 5 月)
Android Gradle プラグイン 7.2.0 はメジャー リリースで、さまざまな新機能や改善措置が組み込まれています。
このマイナー アップデートは、Android Studio Chipmunk パッチ 2 のリリースに対応しており、次のバグ修正が含まれています。
- 問題 #232438924: AndroidGradlePlugin バージョン 7.2 で、Transform API を ASM API と併用したときの動作に問題がある
- 問題 #231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
このマイナー アップデートは、Android Studio Chipmunk パッチ 1 のリリースに対応しており、次のバグ修正が含まれています。
- 問題 #230361284: bundletool がベースライン プロファイルを正しくパッケージ化しない
このリリースに含まれるその他のバグ修正については、Android Studio Chipmunk パッチ 1 のリリースノートをご覧ください。
互換性
最小バージョン | デフォルトのバージョン | 備考 | |
---|---|---|---|
Gradle | 7.3.3 | 7.3.3 | 詳細については、Gradle のアップデートをご覧ください。 |
SDK Build Tools | 30.0.3 | 30.0.3 | SDK Build Tools をインストールまたは設定します。 |
NDK | なし | 21.4.7075529 | 別のバージョンの NDK をインストールまたは設定します。 |
JDK | 11 | 11 | 詳細については、JDK バージョンの設定をご覧ください。 |
Jetifier 警告と Build Analyzer 内のチェック
プロジェクトの gradle.properties
ファイルに android.enableJetifier=true
が含まれていると、Build Analyzer が警告を表示するようになりました。このフラグは、AndroidX をネイティブでサポートしていないライブラリで AndroidX を有効にするために、Android Studio の以前のバージョンで導入されました。しかし、今ではほとんどの場合ライブラリ エコシステムはネイティブで AndroidX をサポートしており、おそらく Jetifier フラグはプロジェクトで不要になっています。また、このフラグはビルドのパフォーマンスを低下させる可能性があります。この警告が表示された場合は、Build Analyzer 内でチェックを実行して、フラグを削除できるかどうかを確認することをおすすめします。
テスト フィクスチャのサポート
Android Studio Chipmunk ベータ版 1 以降では、Android と Java の両方のテスト フィクスチャがサポートされます。テスト フィクスチャ機能と Java プロジェクトでの使用方法の詳細については、テスト フィクスチャの使用{:.external} に関する Gradle のガイドをご覧ください。
Android ライブラリ モジュールでテスト フィクスチャを有効にするには、ライブラリ レベルの build.gradle
ファイルに以下の行を追加します。
android {
testFixtures {
enable true
// enable testFixtures's android resources (disabled by default)
// androidResources true
}
}
デフォルトでは、ライブラリを公開すると、メイン ライブラリとともにテスト フィクスチャ AAR も公開されます。Gradle Module Metadata ファイルには、Gradle が testFixtures
コンポーネントをリクエストする際に適切なアーティファクトを消費できるようにするための情報が格納されます。
リリース バリアントでライブラリのテスト フィクスチャ AAR の公開を無効にするには、ライブラリ レベルの build.gradle
ファイルに以下の行を追加します。
afterEvaluate {
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}
公開されている Android ライブラリのテスト フィクスチャ AAR を消費するには、Gradle のヘルパー メソッド testFixtures()
を使用します。
dependencies {
testImplementation testFixtures('com.example.company:publishedLib:1.0')
}
lint は、デフォルトでテスト フィクスチャ ソースを分析します。以下の設定により、テスト フィクスチャ ソースを無視するように lint を構成することもできます。
android {
lint {
ignoreTestFixturesSources true
}
}
重複するコンテンツ ルートはサポート対象外
AGP 7.2 以降では、複数のソースセットで同じソース ディレクトリを共有できなくなりました。たとえば、単体テストとインストルメンテーション テストの両方で同じテストソースを使用することはできません。詳細については、デフォルトのソースセットの構成を変更するをご覧ください。