Android Gradle プラグイン 7.2.0(2022 年 5 月)

Android Gradle プラグイン 7.2.0 はメジャー リリースで、さまざまな新機能や改善措置が組み込まれています。

7.2.2(2022 年 8 月)

このマイナー アップデートは、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
7.2.1(2022 年 5 月)

このマイナー アップデートは、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 以降では、複数のソースセットで同じソース ディレクトリを共有できなくなりました。たとえば、単体テストとインストルメンテーション テストの両方で同じテストソースを使用することはできません。詳細については、デフォルトのソースセットの構成を変更するをご覧ください。