2017-08-04 47 views
10

針對Gradle的Android插件的最新版本(3.0.0)已經破壞了其用於操縱Variant Outputs的API。此API用於處理構建期間創建的文件(如AndroidManifest.xml),並且已被刪除以提高配置時間。如何使用Android Gradle Plugin 3.0.0+操作變體輸出?

什麼新的API可用於操作變體輸出,它們與2.X API有什麼不同?

+0

您特別關注哪些操作? – azizbekian

+0

我對如何操作outputFiles特別感興趣,因爲不再保證它們在配置階段可用於各種任務。如果這個API有任何其他實質性的變化,那麼我認爲這是一個典型的答案 – fractalwrench

+0

我不能拿出一個規範的答案,你會對一個工作的例子滿意嗎?我正要設置我的gradle 4 android項目來產生一個帶有自定義名稱的輸出apk,那是你需要的嗎? – Fabio

回答

2

對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 
     } 
    } 
} 
相關問題