walle的github地址:https://github.com/Meituan-Dianping/walle

1、项目的根目录 build.gradle 文件中添加Walle Gradle插件的依赖
buildscript {
    dependencies {
        classpath 'com.meituan.android.walle:plugin:1.1.6'
2、app的 build.gradle 文件中apply这个插件,并添加依赖和配置
apply plugin: 'walle'
dependencies {
    compile 'com.meituan.android.walle:library:1.1.6'
walle {
    // 指定渠道包的输出路径
    apkOutputFolder = new File("${project.buildDir}/outputs/channels")
    // 定制渠道包的APK的文件名称
    apkFileNameFormat = '${appName}-${packageName}-${channel}-${buildType}-v${versionName}-${versionCode}-${buildTime}.apk'
    // 渠道配置文件
    channelFile = new File("${project.getProjectDir()}/channel")
3、创建一个没有后缀、名为channel的文件(注意:文件后缀.txt一定要删除,否则执行打包命令读取不到配置的渠道信息,只能生成一个没有渠道信息的包),配置渠道信息:
4、打包:

在控制台下的Terminal执行打包命令:

gradlew clean assembleReleaseChannels

然后在build/outputs/channels目录下会生成channel文件配置的所有渠道的包:
在这里插入图片描述

5、补充:

(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进行集成(本文着重介绍)