美团 walle 打多渠道包

Android Signature V2 Scheme签名下的新一代渠道包打包神器

使用方式有两种,第一种Gradle插件使用方式

  1. 配置build.gradle
    在位于项目的根目录 build.gradle 文件中添加Walle Gradle插件的依赖, 如下:
buildscript {
    dependencies {
        classpath 'com.meituan.android.walle:plugin:1.1.6'
    }
}

并在当前App的 build.gradle 文件中apply这个插件,并添加上用于读取渠道号的AAR

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")
}

2.获取渠道信息

String channel = WalleChannelReader.getChannel(this.getApplicationContext());

3.生成渠道包

生成单个渠道包: ./gradlew clean assembleReleaseChannels -PchannelList=meituan

生成多个渠道包: ./gradlew clean assembleReleaseChannels -PchannelList=meituan,dianping

生成渠道包&写入额外信息:

./gradlew clean assembleReleaseChannels -PchannelList=meituan -PextraInfo=buildtime:20161212,hash:xxxxxxx

注意: 这里的extraInfo以key:value形式提供,多个以,分隔。

详细用法可以参考官方。

第二种用法,命令行工具使用方式

命令行工具使用方式,可参考
在这里插入图片描述
info 里面是渠道信息,output 是生成的渠道包,src_apk 放入已经打好的包,在终端中切换到当前文件夹,执行 ./buildChannels.sh,然后在 output 文件夹中就会生成所有渠道包。walle-cli-all.jar 可以在官网下载最新版。

加固后会获取不到渠道信息

使用 walle 生成的渠道包360加固后会获取不到渠道包, 其他的加固有没有这个问题没有试过。解决方案参考
先加固没签名的包,然后用buildtool中的apksigner签名(有同学反馈24不可以,25.0.0就可以了),然后用walle注入渠道。

相关issue: issue wiki/360加固

有热心的同学也帮忙整理了步骤: 支持Android7.0 Signature V2 Scheme 多渠道打包,并解决类似360加固后获取不到渠道信息 - 渠道统计失败的问题

另: Jay-Goo同学写了一个工具,专门修复类似360加固重签名和批量注入渠道,2秒搞定。支持全平台 https://github.com/Jay-Goo/ProtectedApkResignerForWalle

walle工具 下载地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值