多渠道打包部分:
(慕课网学习部分)
可以安装多个不同的功能测试点的包在同一个手机上:
如:修改了两个功能:需要再同一个手机上测试安装
统计环境:友盟:
A:在Manifest.xml 中:添加:重点:${UMENG_CHANNEL_VALUE}
<meta-data
android:name="UMENG_APPKEY"
android:value="586666661061d20d07000999" />
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
B:在defaultConfig{}中配置默认渠道号:
//打包配置
multiDexEnabled true //突破应用方法数65535的一个限制
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"] //默认的打包渠道号:友盟
C:在app–>build.gradle–>android{}中添加:
//下面定义的两个不同的渠道包名字:
productFlavors{
okhttp{
applicationIdSuffix "okhttp"
resValue "string","app_name","okhttp"
}
jpush{
applicationIdSuffix "jpush"
resValue "string","app_name","jpush"
}
}
//遍历:productFlavors 生成不同的包:
productFlavors.all{
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
D:控制台输入打包命令:
gradlew assembleRelease 即可打包;
E:注意:打包的时候app_name 报错:注释掉:string.xml 中的app_name 资源配置即可。
能在同一个手机上打包的原理是:生成了不同的包名的apk
参考图片:
说明
- 这里给出的只是简单的多渠道打包的一个方式;当然还可以使用其他的三方的功能进行多渠道的打包;同时也是可以使用脚本进行多渠道的打包… 总的来说打包的方式是多样的,学会其中一种基本就够用了。