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

时间:2013-09-05 14:54:26

标签: android gradle android-studio

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

因此,对于考试,我们有一个版本代码= 377。

  1. 从IDE运行调试版本 - >构建和上传 GradleTestApp-V1.5(的 377 ) - 调试unaligned.apk
  2. 做gradle assambleRelease - >建立 GradleTestApp-v1.5( 377 ) - release-unsigned.apk然后增加 versionCode to 378
  3. 再次从IDE运行调试版本 - >建立 GradleTestApp-v1.5( 378 ) - debug-unaligned.apk(正确行为) 但是将旧的GradleTestApp-v1.5( 377 ) - debug-unaligned.apk上传到 设备
  4. 我错过了什么?

    这是我的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')
    

0 个答案:

没有答案