适用于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
}
}
}