(1)之前项目manifest文件中配置的多渠道信息可以删除了
<meta-data
android:name="UMENG_APPKEY"
android:value="${umeng_appkey}" />
<meta-data
android:name="UMENG_CHANNEL"
android:value="${umeng_channel}" />
(2)之前友盟初始化方法
UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, "");
String channel = WalleChannelReader.getChannel(this.getApplicationContext());
UMConfigure.init(this, BuildConfig.UMENG_APPKEY, channel, UMConfigure.DEVICE_TYPE_PHONE, "");
友盟集成文档的初始化方法:
walle的github地址:https://github.com/Meituan-Dianping/walle1、项目的根目录 build.gradle 文件中添加Walle Gradle插件的依赖buildscript { dependencies { classpath 'com.meituan.android.walle:plugin:1.1.6' }...
网上介绍walle多渠道打包的太多了,我这里记录一下,自己多渠道打包+360加固(乐固)遇到的渠道丢失问题和解决办法,如要看多渠道打包,移步我之前的文章walle渠道打包
直接介绍步骤
gradlew clean assembleReleaseChannels -PchannelList=oppo //进行渠道打包
步骤二(有需要的注意):
这里使用第三方加固(360、乐固),加固的时...
由于最开始是用脚本一个个打包,一直想解决打包过慢的问题,但是网上大多教程是基于命令行参数或flavor,实质上并没有根本解决打包效率的问题。直到发现了文章的主角 walle。
应用解决方案
walle
walle是美团开源的一个打包插件,这里就不做介绍了,传送门。
flutter插件
由于源码Android端的,就想着写一个Flutter插件吧。
Android Signature V2 Scheme签名下的新一代渠道包打包神器
github主页:https://github.com/Meituan-Dianping/walle
当然了,Walle并不是为了解决打包速度而产生的一个工具,美团研究walle的原因是因为在Android 7.0(Nougat
多渠道打包主要是为了方便统计应用在各应用市场分布的情况,便于产品和运营做一些针对应的产品运营推广方案。但是在使用多渠道打包的时候,衍生除了一系列的问题:
原生的打包方式比较繁琐,每次打包都需要花费大量时间;
现在为了产品的安全一般都会对应用进行加固,防止应用“裸奔”,如果进行加固的话会导致渠道信息丢失;
一般为了防止线上出现紧急的bug,会使用一些热修复的插件,这也为多渠道打包增加了一点点难度。
针对上述问题,本文提供了一种解决方式。
先打出正式包,如果集成了Thinker,可以使用期bakApk.
美团新一代渠道包打包神器walle github地址
walle取自《机器人总动员》中的瓦力,一个孤独的机器人。
由于我之前负责的项目都是属于代码方面,从来没有负责过打渠道包,所以一直不曾使用过这个神器,直到最近项目要接入而我又恰巧负责。在上家公司的时候打渠道包要打14,5个渠道吧,我们一个apk打包的时间将近5分钟,算下来一个多小时的时间都在打包,效率相当低下。
我们假设要打20个渠道包,每个...
美团的walle打包方案是基于Android Signature V2 Schme 签名下的新一代渠道包打包神器,他通过在ApkSignNature Block 区块添加自定义的渠道信息来生成渠道包,从而提高了渠道包的生成效率。也就是说只需要编译打包一次,然后每个渠道复制一次,再往里面添加渠道信息。这样大大提高了打包的速率。
如果有想了此工具原理的同学,可以参考 新一代开源Android渠道包生成工具Walle。
美团walle打包的方式
1.通过gradle进行集成(本文着重介绍)