1 在AndroidMainifest.xml文件中配置。
<span style="white-space:pre"> </span><meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" >
</meta-data>
2 在build.gradle文件中配置。
可以设置一个默认渠道,也可以不设置。
<span style="white-space:pre"> </span>defaultConfig {
<span style="white-space:pre"> </span> ..........
<span style="white-space:pre"> </span> //默认渠道
<span style="white-space:pre"> </span> manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"]
<span style="white-space:pre"> </span>}
3 配置签名
<span style="white-space:pre"> </span>//签名
<span style="white-space:pre"> </span>signingConfigs{
<span style="white-space:pre"> </span> release {
<span style="white-space:pre"> </span>storeFile file("debug.keystore")
<span style="white-space:pre"> </span>storePassword 'android'
<span style="white-space:pre"> </span>keyAlias 'android'
<span style="white-space:pre"> </span>keyPassword 'android'
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}
4 设置渠道,导出渠道包是并修改每一个apk的文件名
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
//多渠道包时顺便签名
signingConfig signingConfigs.release
//修改每个渠道包的文件名
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = new File(
output.outputFile.parent,
"bashiapp-${variant.buildType.name}-${defaultConfig.versionName}-${variant.productFlavors[0].name}.apk".toLowerCase())
}
}
//渠道
productFlavors {
umeng{}
wandoujia{}
xiaomi{}
qq{}
_360 {}
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
}
在这里配置就算基本结束了。
5 打包
使用命令:
<span style="white-space:pre"> </span>gradlew assembleReleae
请注意APK的版本号,如果低于市场版本的版本号,打包出来的apk取法替换市场版本。
gradle多渠道打包方式速度较慢,有一种快速的打包方式采用Python 的脚本,可参考:点击打开链接