适用于Gradle的最新版本(3.0.0)的Android插件已破坏了用于操作Variant Outputs的API。此API用于处理在构建期间创建的文件(例如AndroidManifest.xml),并且已删除该API以缩短配置时间。

有哪些新的API可用于处理变量输出,它们与2.X API有何不同?

最佳答案

现在,对outputFiles的更改已记录在Android Developer site上。

本质上,建议直接访问包含该文件的目录,而不是直接从gradle API访问outputFile。下面的代码段使用 list 文件对此进行了演示,但是也可以将其应用于其他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
        }
    }
}

07-24 09:49
查看更多