如何使用Android Gradle Plugin 3.0.0+操作Variant输出?

fra*_*nch 12 java android gradle android-gradle-plugin gradle-plugin

Gradle的Android插件的最新版本(3.0.0)打破了用于操作变体输出的 API .此API用于操作在构建期间创建的文件(例如AndroidManifest.xml),并且已被删除以改善配置时间.

哪些新API可用于操作变体输出,它们与2.X API有何不同?

fra*_*nch 3

对outputFiles 的更改现已记录在Android 开发者网站上。

本质上,建议访问包含该文件的目录,而不是直接从 gradle API 访问 outputFile。下面的代码片段通过清单文件演示了这一点,但也可以应用于其他输出文件。

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
        }
    }
}
Run Code Online (Sandbox Code Playgroud)