Android Gradle 外掛程式 7.1.0 (2022 年 1 月)

   日期:2024-12-27    作者:gzxxhg 移动:http://3jjewl.riyuangf.com/mobile/quote/65873.html

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

Android Gradle 外掛程式 7.1.0 (2022 年 1 月)

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

現在可以與 相容。如果您是透過在 檔案中設定 的方式啟用建構快取,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 並未檢測應用程式類別,無法在執行單元測試時處理依附元件插入內容。


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号