Gradle 適用的 Android 外掛程式,修訂版本 1.5.0 (2015 年 11 月)

依附元件:
  • Gradle 2.2.1 以上版本。
  • 建構工具 21.1.1 以上版本。
一般注意事項:
  • 將資料繫結外掛程式整合到 Gradle 適用的 Android 外掛程式中。如要啟用這項功能,請在每個使用該外掛程式的專案 build.gradle 檔案中加入下列程式碼:
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • 新增 Transform API,以便在經過編譯的 .class 檔案轉換為 .dex 檔案之前,讓第三方外掛程式先行處理。Transform API 可簡化插入自訂類別的操控方式,並讓您更能自由決定要操控的項目。若想將轉換插入版本,請建立新的類別,並實作任一種 Transform 介面,再用 android.registerTransform(theTransform)android.registerTransform(theTransform, dependencies) 註冊。您不用把工作全部融合在一起。請注意以下 Transform API 相關事項:
    • 轉換可套用到以下一或多種內容:目前的專案、子專案,以及外部程式庫。
    • 轉換必須進行全域註冊,才能套用到所有變化版本。
    • 透過 Java 程式碼涵蓋率程式庫 (JaCoCo)、ProGuard 及 MultiDex 進行的內部程式碼處理現在使用 Transform API。不過,Java Android 編譯器套件 (Jack) 不使用這個 API:只有 javac/dx 程式碼路徑才會使用。
    • Gradle 會以下列順序執行轉換作業:JaCoCo、第三方外掛程式、ProGuard。第三方外掛程式的執行順序與第三方外掛程式新增轉換的順序相同;第三方外掛程式開發人員無法透過 API 控制轉換的執行順序。
  • 淘汰 ApplicationVariant 類別的 dex getter。您再也無法透過 Variant API 存取 Dex 工作了,因為現在已改為透過轉換完成此工作。目前沒有控管 DEX 程序的替代選項。
  • 修正資產的漸進式支援功能。
  • 開放讓測試專案使用 MultiDex,可改善對 MultiDex 的支援功能,而且測試現在也會自動提供 com.android.support:multidex-instrumentation 依附元件。
  • 新增以下功能:當 Gradle 建構作業叫用非同步工作,且 worker 程序執行失敗時,能夠妥善處理 Gradle 建構作業失敗的狀況,並回報潛在錯誤原因。
  • 新增支援在含有多個應用程式二進位檔介面 (ABI) 的變化版本中設定特定 ABI 的功能。
  • 新增支援功能:安裝或執行測試時,可使用以逗號分隔的 ANDROID_SERIAL 環境變數裝置序號清單。
  • 修正在 Android 5.0 (API 級別 20) 以上版本的裝置上,如果 APK 名稱中含有空格,便會安裝失敗的問題。
  • 修正 Android 資產封裝工具 (AAPT) 錯誤輸出內容的各種相關問題。
  • 新增 JaCoCo 漸進式檢測支援功能,可加快漸進式建構速度。Gradle 適用的 Android 外掛程式現在會直接叫回 JaCoCo 的插裝了。如要強制執行較新的 JaCoCo 插裝,您必須將其新增為建構指令碼依附元件。
  • 修正 JaCoCo 支援功能,以便忽略不屬於類別的檔案。
  • 為達成回溯相容性,新增對向量可繪項目的支援,以便在建構時產生 PNG。針對未指定 API 版本的資源目錄,或者在應用程式資訊清單的 <uses-sdk> 元素中將 android:minSdkVersion 屬性指定為 20 以下的資源目錄,Gradle 適用的 Android 外掛程式會為該目錄中的所有向量可繪項目產生 PNG。您可以在 defaultConfigbuild.gradle 檔案內的 productFlavor區段中使用 generatedDensities 屬性,即可設定 PNG 密度。
  • 新增可模擬的 android.jar 共享功能,外掛程式只會產生一次,並會給單元測試使用。多個模組 (例如 applib) 現在可以共用了。刪除 $rootDir/build 即可重新產生。
  • 變更 Java 資源處理程序,讓系統在模糊化工作之前 (而不是在 APK 封裝時) 處理。本次變更讓模糊化工作可在套件模糊化後調整 Java 資源。
  • 修正實驗性程式庫外掛程式中使用 Java Native Interface (JNI) 程式碼的問題。
  • 新增在實驗性程式庫外掛程式的 android:compileSdkVersion 屬性以外設定平台版本的功能。