在新的Android插件3.0.0-alpha1中重命名输出文件

Cha*_*aks 17 android android-gradle-plugin

我在之前的gradle插件中使用它,它工作正常.

applicationVariants.all { v ->
v.outputs.each { output ->
    output.outputFile = new File(
            output.outputFile.parent,
            output.outputFile.name.replace("app-release.apk", "companyName-app-v${variant.versionName}.apk"))
}}
Run Code Online (Sandbox Code Playgroud)

随着最近更新到3.0.0-alpha1,它显示错误.

我阅读了链接https://developer.android.com/studio/preview/features/new-android-plugin-migration.html但无法找到确切的错误来源.

我有什么问题可以修复吗?

Jam*_*ken 19

要更改APK名称,您可以将其更改为:

android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "companyName-app-v${variant.versionName}.apk"
    }
}
Run Code Online (Sandbox Code Playgroud)

如果使用each()迭代变量对象,则需要开始使用all().这是因为each()只遍历配置时已存在的对象 - 但这些对象在配置时不存在于新模型中.但是,all()通过拾取在执行期间添加的对象来适应新模型.

资源