Android Gradle 外掛程式 7.1.0 是主要版本,內含多種新功能及改善項目。
現在可以與 相容。如果您是透過在 檔案中設定 的方式啟用建構快取,Lint 分析工作就會盡可能從這類快取中取得輸出內容。
透過 Android Gradle 外掛程式執行 Lint 時,最大的瓶頸通常在於 Lint 分析工作,因此在多數情況下,啟用建構快取可提升執行 Lint 時的建構速度。舉例來說,如果您的專案含有多個模組,而且您在持續整合伺服器執行 Lint 前清除版本目錄,應該會發現效能大幅提升。
您現在可以設定使用 C/C++ 程式碼的 Gradle Android 模組,以便參照其他 Gradle 模組中的標頭檔案和程式庫程式碼。不同 Gradle 模組之間的標頭和程式庫需使用 Prefab 通訊協定。
-
「消耗」模組必須為 ,而非 。ndk-build 支援功能須使用日後推出的 NDK 更新。發布模組可能是 或 。
-
「消耗」模組必須在 檔案中啟用 。
- 發布模組必須在 檔案中啟用 。
- 「消耗」模組必須在 檔案的 區塊中加入一行,藉此參照「發布」模組。例如:
- 「發布」模組必須使用 區段公開顯示封裝。例如:
- 消耗模組的 檔案可能會使用 尋找由生產模組發布的封裝。例如:
- 整個應用程式內必須有一個 STL。舉例來說,消耗模組和發布模組都可以使用 C++ 共用的 STL。
如需進一步瞭解如何用 AGP 設定原生 AAR 消耗與生產模組,請參閱「具有 AGP 的原生依附元件」。
透過 Android Studio Bumblebee 建立新專案後,頂層 檔案會包含 區塊,後方則是用於清理版本目錄的程式碼:
之前在頂層 檔案內的存放區設定現在已移到 檔案內:
模組層級 檔案並未變更。因此,請使用頂層 檔案和 檔案,定義適用於專案中所有模組的建構設定,或是適用於 Gradle 本身的存放區和依附元件;使用模組層級 檔案,定義專案中特定模組的建構設定。
Android Studio Bumblebee 內含改良過的資源縮減器,有助於縮減應用程式大小。
在 Android Gradle 外掛程式 7.1.0-alpha09 版中,我們更新了 Android 資源縮減器的預設實作方式。這項新實作方式可縮減具有動態功能的應用程式。
新的資源縮減器實作方式可修改資源表格,藉此移除未使用的值資源和未使用的檔案資源參照,進一步精簡縮減過的應用程式。新的資源縮減器則可完全刪除未使用的檔案資源,進一步縮減應用程式大小。目前系統尚未預設啟用此行為,但您可以在專案的 檔案中新增實驗選項 ,自行選擇啟用並試用該功能。
如果發現新的資源縮減器或實驗旗標有任何問題,請不吝回報。在專案的 中加入 ,即可改回先前的實作方式,協助診斷問題或做為暫時性解決方案。新的縮減器會將未使用的檔案型資源替換為最小化的檔案,這類檔案與舊版資源縮減器提供的檔案有些微差異,但應該不會對執行階段造成任何影響。
舊的實作方式預計會在 Android Gradle 外掛程式 8.0.0 中移除。
Android Gradle 外掛程式 7.1.0 以上版本可讓您設定要將哪個建構變化版本發布至 Apache Maven 存放區。AGP 會根據新的發布 DSL 設定,建立具有單一或多個建構變化版本的元件,您可以用此元件自訂要發布至 Maven 存放區的內容。與先前的版本相較,由於系統不會根據預設建立任何元件,因此也能避免執行不必要的作業。詳情請參閱發布程式碼範例。
您可以利用 AGP 7.1.0 以上版本,透過 Java 與 Kotlin 來源產生 Javadoc,並發布 Javadoc JAR 檔案和程式庫專案 AAR。POM 與 Gradle 模組中繼資料檔案內已新增此 Javadoc。在 或 發布區塊內新增 即可啟用此功能。詳情請參閱發布選項程式碼範例。
您可以利用 AGP 7.1.0 以上版本,發布 Java 與 Kotlin 來源 JAR 檔案,以及程式庫專案 AAR。POM 與 Gradle 模組中繼資料檔案內已新增這些來源。您只須在 或 發布區塊內新增 即可啟用此功能。詳情請參閱發布選項程式碼範例。
用於覆寫特定問題嚴重性等級 (、/、、、、) 的 Lint 方法,現在都會遵守設定順序。舉例來說,在 中將問題設為嚴重錯誤,現在會在主要 DSL 中覆寫問題的「disable」等級。詳情請參閱 區塊參考文件與「Android 建構流程和擴充點」。
我們已移除 Navigation Safe Args Gradle 外掛程式所依附的 AGP API。AGP 7.1 無法搭配 Navigation Safe Args 2.4.0-rc1 及 2.4.0 等版本使用,但是可以搭配 2.5.0-alpha01 及 2.4.1 等版本。目前如要解決此問題,您可以使用 AGP 7.1 搭配 Navigation Safe Args 的快照版本:Navigation 2.5.0-SNAPSHOT。如要使用快照版本,請參考,並將該頁面上程式碼中的 [buildId] 替換成版本 ID #8054565。
另外,Navigation Safe Args 2.4.1 和 2.5.0 版本將無法再與 AGP 4.2 搭配使用,如需使用這些 Safe Args 版本,您必須使用 AGP 7.0 以上版本。
從 AGP 8.0 開始,系統預設會停用自動元件建立功能。目前,AGP 7.1 會自動為每個建構變化版本建立元件,這些元件的名稱與建構變化版本相同,且內含所有建構變化版本的 元件。之後,我們會停用這項自動元件建立功能。如果要改用新行為,您應該將 設為 ,以便手動停用自動元件建立功能。詳情請參閱「使用 Maven 發布外掛程式」。
AGP 7.1 與 Firebase Performance Monitoring Gradle 外掛程式 1.4.0 以下版本不相容。AGP Upgrade Assistant 不會自動將外掛程式更新至 1.4.1 版本,因此,如果您使用 並想升級至 AGP 7.1 版,則需手動進行這項升級作業。
本節說明 Android Gradle 外掛程式 7.1.0 的已知問題。
單元測試類別路徑內含未檢測的應用程式類別,表示 Hilt 並未檢測應用程式類別,無法在執行單元測試時處理依附元件插入內容。