我在gradle脚本中使用了以下代码来重命名使用AndroidStudio生成的apks:
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = new File(output.outputFile.parent, defaultConfig.versionCode + "_" + output.outputFile.name)
}
}
因此,它生成的versionCode的名称类似:345-app-release.apk,,其中345是apks。
但是在更新到AndroidStudio 3.0之后,它返回以下错误:
无法为类型为com.android.build.gradle.internal.api.ApkVariantOutputImpl.的ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN,fullName=debug,filters=[]}}设置只读属性'outputFile‘的值
如何使用新的构建工具实现类似的重命名。
发布于 2017-10-26 21:35:33
使用output.outputFileName
而不是output.outputFile
发布于 2017-11-28 12:05:46
2019 - Gradle 3.0+**和3.1.0的简单解决方案
在Android中更改APK的名称
android { //add inside the android {}
......
applicationVariants.all { variant ->
variant.outputs.all {
def flavor = variant.name
def versionName = variant.versionName
outputFileName = "prefix_${flavor}_${versionName}.apk"
}
}
}
prefix_release_1.0.1.apk
发布于 2018-06-27 19:32:55
尝试以下代码:
buildTypes {
applicationVariants.all { variant ->
variant.outputs.each { output ->
def name = "myapp_v${variant.versionName}(${variant.versionCode}).apk"
output.outputFileName = name
}
}
}
https://stackoverflow.com/questions/46949311
复制相似问题