Android Studio 多渠道打包和打包时设置包名

xiaoxiao2021-02-28  81

1、在清单文件 AndroidManifest.xml 中添加如下带

在 AndroidManifest.xml 文件 中 application 内 添加:

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

这个是在使用友盟统计时的一个代码示例,meta-data 中的 name 是可以更改的,根据实际需求如自己修。

2、在 build.gradle 进行配置

在 build.gradle 文件中 android 的 buildTypes 的 release 下添加: applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { // apk_渠道名-版本号-版本名称-编译时间.apk def fileName = "apk_${variant.productFlavors[0].name}-${defaultConfig.versionCode}-${defaultConfig.versionName}-${releaseTime()}.apk" output.outputFile = new File(outputFile.parent, fileName) } } } 完整代码: buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { // apk_渠道名-版本号-版本名称-编译时间.apk def fileName = "apk_${variant.productFlavors[0].name}-${defaultConfig.versionCode}-${defaultConfig.versionName}-${releaseTime()}.apk" output.outputFile = new File(outputFile.parent, fileName) } } } } } productFlavors { qihu360 {} // 360手机助手 yingyongbao {} // 腾讯应用宝 wandoujia {} // 豌豆荚 // baidu {} // 百度手机助手 // miui {} // 小米 // flyme {} // 魅族 // lenovo {} // 联想-乐商店 // oppo {} // Oppo-可可软件商店 // huawei {} // 华为 // vivo {} // vivo // hiapk {} // 安卓市场 // sj91 {} // 91手机助手 // sogou {} // 搜狗手机市场 // sohu {} // 搜狐应用中心 // taobao {} // 淘宝手机助手 // gfan {} // 机锋 // appchina {} // 应用汇 // mumayi {} // 木蚂蚁 // wangyi163 {} // 网易应用 // nduoa {} // N多市场 // mm10086 {} // MM商城-中国移动 // wostore {} // WO商店 // youyi {} // 优异 // uc {} // UC+开发平台 // anzhi {} // 安智市场 // google {} // google play // amazon {} // 亚马逊 } productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } } def releaseTime() { return new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC")) }

下面对配置文件简单说明一下:

我们看一下 meta-data 中 android:value="${UMENG_CHANNEL_VALUE}" 其中 ${UMENG_CHANNEL_VALUE} 是通配符,和 build.gradle 文件中 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "c360"] 中的 UMENG_CHANNEL_VALUE 相对应。

转载请注明原文地址: https://www.6miu.com/read-40444.html

最新回复(0)