Android工作室在更改project.archivesBaseName时上传旧apk

mar*_*ant 8 android gradle android-studio

我已经配置了build.gradle,因此每次创建发布版本时它都会在version.properties中增加版本代码.我还使用apk文件的版本代码.然而Android工作室似乎忽略了版本更改所以当我从ide运行调试版本然后使用控制台组装版本构建(增加版本号)然后再次从IDE运行调试时,它正确地构建了一个带有增加版本的apk filename BUT将旧apk上传到设备.

因此,对于例如,我们有一个版本代码= 377.

  1. 从IDE-> builds运行调试版本并上传GradleTestApp-v1.5(377)-debug- unaligned.apk
  2. do gradle assambleRelease - > build GradleTestApp-v1.5(377)-release-unsigned.apk然后将versionCode增加到378
  3. 再次从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')
Run Code Online (Sandbox Code Playgroud)