Tuesday, May 10, 2016

Android Gradle 如何配置打包的时候,不同的APP打出不同的 名字?

昨天,在打包的时候,因为,配置的versionCode  有问题,所以在安装的时候,很多人,都安装不了?

因为,我现在在同时管理3个APP, 但是其中有一个APP的versionCode 不一致,在打包的时候,我忘记了更换了?所以,导致了VersionCode 有问题。

今天,搞了搞 解决了这个问题:

多个版本的解决方案:
productFlavors

但是,在打包的时候,之前写的是

def appendVersionNameVersionCode(variant,defaultConfig) {
    variant.outputs.each { output ->
        def outputFile = output.outputFile
        if(outputFile != null && outputFile.name.endsWith('.apk')){
            def currentType = "${variant.buildType.name}"
            def DEBUG_FLAG = project.APP_IS_DEBUG
            if(currentType == DEBUG_FLAG){
                def fileName = "${variant.productFlavors[0].name}_${variant.buildType.name}_V${defaultConfig.versionName}_${debugTime()}.apk"
                output.outputFile = new File(outputFile.parent, fileName)
            }else{
                def fileName = "${variant.productFlavors[0].name}_${variant.buildType.name}_V${defaultConfig.versionName}_${releaseTime()}.apk"
                output.outputFile = new File(outputFile.parent, fileName)
            }
        }
    }
}

之前使用的是 defaultConfig,

解决方案:
将 defaultConfig 替换成: variant.productFlavors[0].versionName

OK 






No comments:

Post a Comment