多渠道打包机制:
一:传统机制:google gradle机制:
首先,在AndroidManifest.xml中添加渠道信息占位符:
<meta-data android:name="InstallChannel" android:value="${InstallChannel}" />
然后,通过Gradle Plugin提供的productFlavors标签,添加渠道信息:
productFlavors{ "YingYongBao"{
manifestPlaceholders = [InstallChannel : "YingYongBao"]
} "360"{
manifestPlaceholders = [InstallChannel : "360"]
}
}
这样,Gradle编译生成多渠道包时,会用不同的渠道信息替换AndroidManifest.xml中的占位符。我们
在代码中,也就可以直接读取AndroidManifest.xml中的渠道信息了。
通常会集成友盟统计,来分析各渠道的包的下载量,以利于投放广告:(如下)
在AndroidManifest.xml中添加:
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}"/>
然后在app下的build.gradle文件中添加:
productFlavors {
//多渠道打包,terminal: gradle assemble
baiduzhushou {}
yingyong360 {}
yingyongbao{}
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
一般这2个就够用了,其它一些比如美团的打包,一分钟可以达到900个.需要写python脚本等,其它设置.比较麻烦.很多其
它打包机制也差不多.