多渠道打包配置

GRADLE多渠道打包

1.在AndroidManifest.xml中配置渠道占位符

<application>
     <meta-data
        android:name="UMENG_CHANNEL"
        android:value="${UMENG_CHANNEL_VALUE}" />
</application>

2.在主项目的build.gradle中配置脚本

  • 写法一

android {
    productFlavors {
        GooglePlay {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "googlePlay"]
        }
        xiaomi {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
        }
        umeng {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"]
        }
    }
}
  • 写法二
    productFlavors {
        GooglePlay {}
        xiaomi {}
        umeng {}
    }
    productFlavors.all { flavor ->
        flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }

3.修改打包后apk文件名

//获取产品的名字
def getProductName() {
    return "heart"
}
//获取当前系统的时间
def releaseTime() {
    return new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC"))
}

android{
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def outputFile = output.outputFile
            //这里根据不同的构建类型修改了文件名,避免在debug模式下也生成多个渠道包
            if (variant.buildType.name.equals('release')) {
                def releaseApkName = "${getProductName()}_v${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}_release.apk"
                output.outputFile = new File(outputFile.parent, releaseApkName)
            } else {
                def debugApkName = "app-debug-v${defaultConfig.versionName}.apk"
                output.outputFile = new File(outputFile.parent, debugApkName)
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青菜小王子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值