Android渠道包构建流程
美菜商城Android包发布分为自有渠道和应用市场多渠道2种。不同的渠道包的区别在于应用内部有一个channel标识区分,用以友盟统计等操作。
Android端接入了美团的walle实现多渠道打包。
Walle介绍
Android 7.0 引入一项新的应用签名方案 APK Signature Scheme v2,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护。在默认情况下,android Studio 2.2 和 Android Plugin for Gradle 2.2 会使用 APK Signature Scheme v2 和传统签名方案来签署您的应用。
注意:如果您使用 APK Signature Scheme v2 签署您的应用,并对应用进行了进一步更改,则应用的签名将无效。Walle并不是为了解决打包速度而产生的一个工具,而是为了适应V2签名而研究的因一代打包工具。
walle通过在APK中的APK Signature Block驱块添加自定义的渠道信息来生成渠道包,从而提高了渠道打包生成效率 。本质上不是重复打多个包,而是包的复制过程,是在一个基础包上写入渠道信息后重新生成新包。由于减少了重新构建打包的过程,所以节省了渠道打包的时间。
接入walle后,可以使用这种方式获取渠道信息
String channel = WalleChannelReader.getChannel(this.getApplicationContext());
Android打包说明
商城Android的打包构建是基于AMP工具,在代码里配置好build.gradle脚本。AMP工具里读取build.gradle脚本里的配置信息,执行不同的打包命名。
Android基础打包都是基于gradle的,执行命令:
- ./gradlew assembleXXX xxx可以起Debug,Dev,Stage等等不同取值
AMP打包操作
以上操作是android正常打包的工具,实际上AMP平台是依据业务的build.gradle脚本配置执行gradle assemblexxx命令来实现打包。
多渠道包生成方式
- android接入walle后,按规则在工程app目录下创建channel文件,该文件中配置渠道的名称
- 在app工程的build.gradle脚本里配置好walle信息
- 执行
./gradlew assembleReleaseChannels
即可在build/outputs/channels下看到各个渠道的包,包的名称如上图walle配置信息里写入的定制渠道apk文件名称。
如何使用AMP构建walle
目前android多渠道打包并没有走AMP,基于公司整体从上到下标准发布流程的执行,android的渠道打包需要迁移至AMP上进行。这里一个可行的方案是AMP上打包job下配置多渠道选择是执行./gradlew assembleReleaseChannels。 未完待续。。。
Android渠道包构建流程相关推荐
- Android渠道包打包流程
1.环境要求 Windows.JDK1.7.0以上.WinRAR 2.打包步骤 (1)从Jenkins打包平台取得最终作为发版外卖apk (2)apk重命名为src.zip(没错,就是改成一个压缩包) ...
- Android渠道包测试方案
###Android渠道包测试方案 有段时间没有写过明显关于测试相关的文章了,最近听说Android渠道包也会出现问题,于是就用python写了一个相关的测试脚本.于是乎,就有了此文... 想法说来也 ...
- Android 渠道包 动态生成 apk 名称
Android 渠道包 动态生成 apk 名称 低版本打包配置 buildTypes {release {minifyEnabled trueshrinkResources truezipAlignE ...
- 新一代开源Android渠道包生成工具Walle
本文转载自[http://tech.meituan.com/android-apk-v2-signature-scheme.html] 在Android 7.0(Nougat)推出了新的应用签名方案A ...
- android 渠道包测试,Android快速批量多渠道包的“蛋生”
对于安卓程序猿朋友来说,每当发布新版本的APP,均会分发到各大应用市场,比如腾讯应用宝,豌豆荚和360手机助手等.为了让程序猿同志们更好的区分不同的应用市场,掌握各市场APP发展状况,为了更多体现世界 ...
- android 渠道包 占位符配置,Android打包
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 打包的事,之前很少做,也了解的比较少,今天好好看了看,总结一下,以后要是用到了,或许可以少走些弯路. 多渠道打包 友盟多 ...
- android渠道包加固,Android多渠道打包和加固那些事
多渠道两种打包方式: 一.利用android studio的productFlavors去多渠道打包.速度慢,让人崩溃.但与市场上的一些加固无缝接入. 二.利用美团的walle,快速高效,但是在加固上 ...
- Android APK 的构建流程以及Gradle多版本构建
一.APK 构建流程 1.通过AAPT2工具将各种xml文件汇总登记到R.java文件中:同时将AndroidManifest.xml生成对应的二进制文件: 2.通过AIDL工具将.aidl文件生成. ...
- Android渠道包自动化验证
随着产品发布越来越快,渠道包越来越多,渠道包自动化验证重要性逐渐凸显出来,需要将大把的人力从中解放出来,且避免人工失误造成的验证不完全: 最近客户端产品尝试使用渠道包自动化测试的方法,这里说说我们目前 ...
- Android 马甲包制作流程
一.马甲包的制作流程 1.配置马甲包的applicationId以及应用名称 在app的build.gradle文件中添加马甲包的配置 android {signingConfigs {config ...
最新文章
- dede 后台 mysql_织梦dedecms使用Mysql8.0无法登录后台的解决办法
- 认识python零基础知识到实战概论的复习和回顾上
- Handler消息机制(六):Looper.loop()为什么不会阻塞主线程?
- 【OpenGL】十一、OpenGL 绘制多个点 ( 绘制单个点 | 绘制多个点 )
- mysql额外在哪_MySQL额外操作
- VS2017 新建项目没有QT
- ue4材质节点怎么用_UE4材质教程
- qt和c#怎么选_请问目前做windows桌面应用程序,MFC、QT、C#哪个更好?
- java seekbar_SeekBar的基本使用方法
- 多年软件测试大牛分享成长经历,一个好的软件测试工程师应该做到这些!
- Exchange Server 2007迁移Exchange Server 2010 (15)---启用Outlook anywhere
- office visio 2007 画流程图
- 《Python程序设计(第3版)》课后习题答案
- 2016--MatConvNet Convolutional Neural Networks for MATLAB
- “佩奇”刷爆朋友圈 “野猪”占领美术馆空间
- ZT 悟空、悟能、悟净、这三个法号有什么特殊的含义吗?
- 关于floor函数与ceil函数与round函数
- 开放经济的宏观经济学:基本概念 - 异想天开
- 插头类型:MX 1.25 PH间距2.0、XH间距2.5/2.54、VH间距3.96区别?
- 【F2C】git常见命令