2017-08-04 49 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 
     } 
    } 
} 
相关问题