10
针对Gradle的Android插件的最新版本(3.0.0)已经破坏了其用于操纵Variant Outputs的API。此API用于处理构建期间创建的文件(如AndroidManifest.xml),并且已被删除以提高配置时间。如何使用Android Gradle Plugin 3.0.0+操作变体输出?
什么新的API可用于操作变体输出,它们与2.X API有什么不同?
针对Gradle的Android插件的最新版本(3.0.0)已经破坏了其用于操纵Variant Outputs的API。此API用于处理构建期间创建的文件(如AndroidManifest.xml),并且已被删除以提高配置时间。如何使用Android Gradle Plugin 3.0.0+操作变体输出?
什么新的API可用于操作变体输出,它们与2.X API有什么不同?
对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
}
}
}
您特别关注哪些操作? – azizbekian
我对如何操作outputFiles特别感兴趣,因为不再保证它们在配置阶段可用于各种任务。如果这个API有任何其他实质性的变化,那么我认为这是一个典型的答案 – fractalwrench
我不能拿出一个规范的答案,你会对一个工作的例子满意吗?我正要设置我的gradle 4 android项目来产生一个带有自定义名称的输出apk,那是你需要的吗? – Fabio