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 的脚本,可参考:点击打开链接
