我正在尝试使用android构建工具" com.android.tools.build:gradle:3.0.0-alpha4"在我的项目中。在我的构建脚本中,我重命名输出apk,它在过去运行良好但似乎不再受支持。
applicationVariants.all { variant ->
def filename = "foo-${variant.baseName}-${variant.versionName}-(${android.defaultConfig.versionCode}).apk"
variant.outputs.all { output ->
output.outputFile = new File(
output.outputFile.parent,
filename
)
}
}
现在我试图改变的属性变得不可改变了:
错误:无法设置只读属性的值" outputFile' for apkVariantOutputImpl_Decorated {apkData = Main {type = MAIN,fullName = stageDebug,filters = []}},类型为com.android.build.gradle.internal.api.ApkVariantOutputImpl。
有新方法或替代方法吗?
答案 0 :(得分:1)
each
- >到all
output.outputFile
- >到outputFileName
之前:
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
def finalVersionCode =v10000 + versionCode
output.versionCodeOverride = finalVersionCode
output.outputFile = new File(
output.outputFile.parent, output.outputFile.name.replace(".apk","-${finalVersion}.apk"))
}
}
后:
android.applicationVariants.all { variant ->
variant.outputs.all { output ->
def finalVersionCode = 10000 + versionCode
output.versionCodeOverride = finalVersionCode
outputFileName = new File(
output.outputFile.parent,
outputFileName.replace(".apk", "-${finalVersionCode}.apk"))
}
}
答案 1 :(得分:0)
添加例如versionName
添加
setProperty("archivesBaseName", archivesBaseName + "-" + versionName)
在defaultConfig
关闭。