为什么我的apk输出versionCode没有正确更新?

时间:2015-07-22 16:44:11

标签: android android-gradle

我试图通过abi将它们分开来最小化我的应用apk大小。我正在使用以下guide来执行此操作。

我遇到的问题是versionCode在输出apk上没有正确更新。我添加了printf来测试versionCode正在正确计算,它是。

任何想法都会有所帮助。

这是我的gradle文件。有些部分省略..

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.vblast.test"
        minSdkVersion 14
        targetSdkVersion 22
        versionCode 41
        versionName "1.4.7"
    }

    // Special flavor dimensions for different markets and
    // versions paid and free.
    flavorDimensions 'market', 'version'

    productFlavors {
        google {
            dimension 'market'
        }
        amazon {
            dimension 'market'
        }
        mobiroo {
            dimension 'market'
        }
        // Base free version
        free {
            dimension 'version'
        }
        // Base pro version
        pro {
            dimension 'version'
        }
    }

    splits {
        abi {
            enable true
            reset()
            include 'x86', 'armeabi', 'armeabi-v7a' //, 'mips'
            universalApk false
        }
    }
}

// map for the version code
ext.versionCodes = [armeabi:1, 'armeabi-v7a':2, x86:3, mips:4]

import com.android.build.OutputFile

android.applicationVariants.all { variant ->
    // assign different version code for each output
    variant.outputs.each { output ->
        int abiVersionCode = project.ext.versionCodes.get(output.getFilter(OutputFile.ABI))?:0
        output.versionCodeOverride = (abiVersionCode * 1000000) + android.defaultConfig.versionCode
    }
}

0 个答案:

没有答案