我正在尝试在我的项目中使用 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
)
}
}
现在我试图改变的属性变成了不可变的:
Error: Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=stageDebug, filters=[]}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl.
是否有新的或替代的方法来做到这一点?
最佳答案
- 将
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"))
}
}
关于android - 在gradle中更改apk文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44655405/