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
SDK Build Tools 30.0.3 30.0.3
NDK なし 21.4.7075529
JDK 11 11

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