我已经配置了 build.gradle,因此每次创建发布版本时它都会增加 version.properties 中的版本代码。我还使用版本代码作为 apk 文件名。但是,Android Studio 似乎忽略了版本更改,因此当我从 ide 运行调试构建然后使用控制台组装 Release 构建(这会增加版本号)然后再次从 IDE 运行调试时,它会正确构建一个带有增加版本的 apk文件名 BUT 将旧的 apk 上传到设备。
例如,让我们有一个版本代码 = 377。
- 从 IDE 运行调试构建-> 构建并上传 GradleTestApp-v1.5( 377 )-debug- unaligned.apk
- 做 gradle assambleRelease -> 构建 GradleTestApp-v1.5( 377 )-release-unsigned.apk 然后将 versionCode 增加到 378
- 再次从 IDE 运行调试构建 -> 构建 GradleTestApp-v1.5( 378 )-debug-unaligned.apk (正确的行为)但是将旧的 GradleTestApp-v1.5( 377 )-debug-unaligned.apk 上传到设备
我错过了什么?
这是我的gradle脚本:
ext{
versionPropFile = 'version.properties'
Properties versionProps = getVersionProps()
}
project.archivesBaseName=project.archivesBaseName+"-v"+versionProps['name'] + "(" + versionProps['code']+")"
def Properties getVersionProps(){
def Properties versionProps = new Properties()
versionProps.load(new FileInputStream(file(versionPropFile)))
return versionProps
}
task('increaseVersionCode') << {
def Properties versionProps = new Properties()
versionProps.load(new FileInputStream(file(versionPropFile)))
int versionCode = versionProps['code'].toInteger()
versionProps['code'] = (versionCode+1)+""
versionProps.store(new FileOutputStream(file(versionPropFile)), "App version properties")
println 'increasing version code to ' + versionProps['code']
}
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
...
}
assembleRelease.dependsOn('increaseVersionCode')