51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Android开发 多聚到打包 自动合并各聚道参数形成新的versionName

1、定义versionName基础前缀 {#1%E3%80%81%E5%AE%9A%E4%B9%89versionname%E5%9F%BA%E7%A1%80%E5%89%8D%E7%BC%80}

android {
    defaultConfig {
        ...
        versionName "APP-"
    }

    ...



`}`

默认配置中填写需要的versionName前缀用于拼接。

2、定义聚道包维度 {#2%E3%80%81%E5%AE%9A%E4%B9%89%E8%81%9A%E9%81%93%E5%8C%85%E7%BB%B4%E5%BA%A6}

android {
    ...

    //聚道包维度
    flavorDimensions 'default', 'custom'
    productFlavors {
        one {
            dimension "default"
            versionNameSuffix "O"
            //定义变量
            manifestPlaceholders = [
                    PRODUCT_FLAVORS: 'ONE'
            ]
        }

        three {
            dimension "default"
            versionNameSuffix "T"
            //定义变量
            manifestPlaceholders = [
                    PRODUCT_FLAVORS: 'THREE'
            ]

        }

        /标准版
        standard {
            dimension "custom"
            versionNameSuffix "S"
        }

        //单机版
        standAlone{
            dimension "custom"
            versionNameSuffix "SA"
        }

    }

    ...



`}`

根据实际需要创建多种聚道包维度;

示例中将会打出4种安装包:oneStandardoneStandAlonethreeStandardthreeStandAlone

3、添加编译生成versionName {#3%E3%80%81%E6%B7%BB%E5%8A%A0%E7%BC%96%E8%AF%91%E7%94%9F%E6%88%90versionname}

android {
    ...

    // 动态设置最终的版本号
    android.applicationVariants.configureEach { variant ->
        // 根据flavor的versionNameSuffix和默认的versionName设置完整versionName
        def baseVersionName = defaultConfig.versionName
        def flavorSuffixes = variant.productFlavors.collect { it.versionNameSuffix }.join("")
        // 获取当前时间并格式化
        def dateFormat = 'yyMMddHHmm'
        def currentTime = new Date().format(dateFormat)

        variant.outputs.configureEach { output ->
            //设置最终的版本号
            output.versionNameOverride = ("${baseVersionName}${flavorSuffixes}${currentTime}")
            //设置输出安装包名称
            output.outputFileName = "${versionName}.apk"
        }
    }

    ...



`}`

最终版本号形式:APP-OS2410201345.apk

此设置将会使打包出的apk名称以及应用的versionName都设置为APP-OS2410201345.apk


赞(1)
未经允许不得转载:工具盒子 » Android开发 多聚到打包 自动合并各聚道参数形成新的versionName