Android Gradle 外掛程式 7.2.0 (2022 年 5 月)

Android Gradle 外掛程式 7.2.0 是主要版本,內含多種新功能及改善項目。

7.2.2 (2022 年 8 月)

這項次要更新配合 Android Studio Chipmunk 修補程式 2 版本,並包含下列錯誤修正項目:

  • 問題 #232438924:與 ASM API 搭配使用時,Android Gradle 外掛程式 7.2 版會造成轉換 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 版本,並包含下列錯誤修正項目:

如要查看此版本的其他修正錯誤,請參閱 Android Studio Chipmunk 修補程式 1 版本資訊

相容性

最低版本 預設版本 附註
Gradle 7.3.3 7.3.3 詳情請參閱「更新 Gradle」一節。
SDK 版本工具 30.0.3 30.0.3 安裝設定 SDK 版本工具。
NDK 不適用 21.4.7075529 安裝設定 NDK 其他版本。
JDK 11 11 詳情請參閱「設定 JDK 版本」相關說明。

版本分析器中的 Jetifier 警告和檢查

如果專案的 gradle.properties 檔案包含 android.enableJetifier=true,版本分析器現在會顯示警告。這個旗標是在先前的 Android Studio 版本中所推出,用於針對未原生支援 AndroidX 的程式庫啟用 AndroidX。不過,程式庫生態系統大多都已改為原生支援 AndroidX,因此您的專案可能不再需要 Jetifier 旗標。此外,該標記也可能導致建構效能下降。看到這則警告後,您可以在版本分析器中執行檢查,確認能否移除該旗標。

支援測試固件

從 Android Studio Chipmunk Beta 1 開始,Android Studio 一併支援 Android 與 Java 測試固件。您可以參閱 Gradle 的「使用測試固件」指南,進一步瞭解測試固件功能,以及如何在 Java 專案中使用這類固件。

如要在 Android 程式庫模組中啟用測試固件,請將下列內容加入程式庫層級的 build.gradle 檔案:

android {
  testFixtures {
    enable true
    // enable testFixtures's android resources (disabled by default)
    // androidResources true
  }
}

根據預設,發布程式庫時也會發布內含主要程式庫的測試固件 AAR。Gradle 模組中繼資料檔案將包含相關資訊,讓 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 開始,您無法再跨多個來源集共用同一個來源目錄。舉例來說,您無法同時對單元測試和檢測設備測試使用相同的測試來源。詳情請參閱「變更預設來源集設定」。