10
針對Gradle的Android插件的最新版本(3.0.0)已經破壞了其用於操縱Variant Outputs的API。此API用於處理構建期間創建的文件(如AndroidManifest.xml),並且已被刪除以提高配置時間。如何使用Android Gradle Plugin 3.0.0+操作變體輸出?
什麼新的API可用於操作變體輸出,它們與2.X API有什麼不同?
針對Gradle的Android插件的最新版本(3.0.0)已經破壞了其用於操縱Variant Outputs的API。此API用於處理構建期間創建的文件(如AndroidManifest.xml),並且已被刪除以提高配置時間。如何使用Android Gradle Plugin 3.0.0+操作變體輸出?
什麼新的API可用於操作變體輸出,它們與2.X API有什麼不同?
對outputFiles的更改現已記錄在Android Developer site上。
本質上,不是直接從gradle API訪問outputFile,而是建議訪問包含該文件的目錄。下面的代碼片段用一個清單文件演示了這一點,但也可以應用於其他outputFiles。
android.applicationVariants.all { variant ->
variant.outputs.all { output ->
output.processManifest.doLast {
String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml"
def manifestContent = file(manifestPath).getText()
// Manipulate the file as needed
}
}
}
您特別關注哪些操作? – azizbekian
我對如何操作outputFiles特別感興趣,因爲不再保證它們在配置階段可用於各種任務。如果這個API有任何其他實質性的變化,那麼我認爲這是一個典型的答案 – fractalwrench
我不能拿出一個規範的答案,你會對一個工作的例子滿意嗎?我正要設置我的gradle 4 android項目來產生一個帶有自定義名稱的輸出apk,那是你需要的嗎? – Fabio