我们一直在使用像这样的代码片段来重命名由Gradle构建生成的APK文件:
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "${variant.name}-${variant.versionName}.apk"
}
}
Run Code Online (Sandbox Code Playgroud)
来源:https : //developer.android.com/studio/build/gradle-plugin-3-0-0-migration#variant_output
我现在在我的转换的过程中build.gradle来build.gradle.kts,即到摇篮科特林DSL。这是最后缺少的部分之一:我不知道如何访问outputFileName。
根据API文档,它似乎甚至不存在:
BaseVariant.getOutputs()返回,DomainObjectCollection<BaseVariantOutput>其中提供all了代码段中使用的方法。BaseVariantOutput扩展OutputFile,VariantOutput但没有一个outputFileName具有匹配名称的getter或setter。因此,我怀疑有一些先进的Groovy魔术可以使它起作用-但是我如何在科特林到达那里?