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签名而研究的因一代打包工具。
瓦力通过在Apk中的APK Signature Block区块添加自定义的渠道信息来生成渠道包,从而提高了渠道包生成效率,可以作为单机工具来使用,也可以部署在HTTP服务器上来实时处理渠道包Apk的升级网络请求。
使用
使用Walle生成多渠道的速度是非常快的,比如原来的项目打一个包需要两分钟多,每次发布打7个包需要十几分钟。用了Walle后,7个包只要两分钟左右就可以完成。
添加依赖&配置渠道
android {//签名 引用位置signingConfigs {sankuai {storeFile file("keystore/123keyStore.jks")storePassword "123456"keyAlias "key"keyPassword "123456"}}
将file后面的路径替换成自己的签名文档路径
//调用签名设置buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'signingConfig signingConfigs.sankuai}debug {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'signingConfig signingConfigs.sankuai}}
主要是引用上面配置的签名
 //个性化设置
//暂时可以不理会productFlavors {honry {manifestPlaceholders = [UMENG_CHANNEL_VALUE: "honry"]}}
}
在项目的build.gradle文件中添加依赖
buildscript {dependencies {classpath 'com.meituan.android.walle:plugin:1.1.3'}
}
在当前app的build.gradle 文件中添加依赖,以及配置插件
在当前app的build.gradle 文件中添加依赖,以及配置插件
apply plugin: 'walle'...dependencies {...compile 'com.meituan.android.walle:library:1.1.3'
}
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")
}
对应的属性:
  • apkOutputFolder:指定渠道包的输出路径, 默认值为new File("${project.buildDir}/outputs/apk")。这里指定为build/outputs/apk。
  • apkFileNameFormat:定制渠道包的APK的文件名称, 默认值为'${appName}-${buildType}-${channel}.apk'。
可使用以下变量:
  • projectName - 项目名字
  • appName - App模块名字
  • packageName - applicationId (App包名packageName)
  • buildType - buildType (release/debug等)
  • channel - channel名称 (对应渠道打包中的渠道名字)
  • versionName - versionName (显示用的版本号)
  • versionCode - versionCode (内部版本号)
  • buildTime - buildTime (编译构建日期时间)
  • fileSHA1 - fileSHA1 (最终APK文件的SHA1哈希值)
  • flavorName - 编译构建 productFlavors 名
  • channelFile:包含渠道配置信息的文件路径
  • channelFile:包含渠道配置信息的文件路径。
在app目录下创建channel文件,用于配置渠道信息(文件类型:Text)
渠道配置
下面是配置表
Qh360 #360Yyb #应用宝Wdj #豌豆荚Lenovo #联想Xiaomi #小米Huawei #华为Meizhu #魅族
获取渠道信息
通过以下代码,可以取渠道信息
String channel = WalleChannelReader.getChannel(this.getApplicationContext());
生成渠道包
到这里,基本的配置都已完成。接下来可以直接打包了。
在Terminal中输入对应的指令,即可完成打包。看到BUILD SUCCESSFUL后说明已经完成打包了。
打包
  • 所有渠道
./gradlew clean assembleReleaseChannels
渠道包的生成目录默认存放在 build/outputs/apk/,也可以通过Walle闭包中的apkOutputFolder参数来指定输出目录
  • 指定渠道
生成单个渠道包(huawei渠道):
./gradlew clean assembleReleaseChannels -PchannelList=huawei
生成多个渠道包(huawei、xiaomi渠道):
./gradlew clean assembleReleaseChannels -PchannelList=huawei,xiaomi
结果
运行./gradlew clean assembleReleaseChannels后,可以在build/outputs/channels看到对应的渠道包。
我的笔记
—— —— 以上就是Walle打包的基本流程,想要了解更多可以参考源码
Walle

新一代打包神器Walle(瓦力)使用小结相关推荐

  1. 美团新一代渠道包打包神器walle

    背景: Android 7.0 中新增了 APK Signature Scheme v2 签名方式 如果Android Studio升级到 v2.2+,构建APK时默认使用的签名方式就是APK Sig ...

  2. Android 批量打包 基于Walle的多渠道快速打包自动脚本

    Android 批量打包 基于Walle的多渠道快速打包自动脚本 Android Signature V2 Scheme签名下的新一代渠道包打包神器 github主页:https://github.c ...

  3. walle(瓦力)部署系统的安装和简单使用

    Walle(瓦力):一套软件开发的部署系统.提供了清晰的日志记录,支持数据的回滚.用于解决大型团队在软件开发中的测试.预测试和上线的统一部署管理. 系统环境:CentOS6.8-A CentOS-6. ...

  4. webpack 保存文件后自动打包_继webpack后又一打包神器Parcel

    前言: 在继grunt.gulp实现自动化构建之后,webpack又引领前端打包潮流,众所周知的是,vue-cli的脚手架就是基于webpack进行项目打包的.而webpack还在上升的势头的时候,又 ...

  5. 荣耀青春30青春版能升鸿蒙,或是新一代拍照神器 荣耀30青春版今日发布

    7月1日晚,荣耀手机官方微博发博表示荣耀旗下新机荣耀30青春版将于在7月2日14:30举行的荣耀夏季5G新品发布会上正式发布,并表示荣耀30青春版拥有"强大硬核的拍照性能"可以&q ...

  6. 海兰一体计算机配置,新一代办公神器!海兰一体机G40 plus为何受职场人士追捧?...

    原标题:新一代办公神器!海兰一体机G40 plus为何受职场人士追捧? 对于现在的职场上的办公人士来说,高效率永远是工作中最重要的事情.那么想要更好的提高实际的工作效率,除了职员本身足够优秀外,高端的 ...

  7. FastBuilder 一款让人上瘾的新一代开发神器

    这是一款让人上瘾的新一代开发神器,彻底告别Controller.Service.Dao等传统开发方式. FastBuilder 将不再区别"前端"与"后端"的概 ...

  8. Walle 瓦力 安装部署

    Walle 瓦力 安装部署 http://www.walle-web.io/docs/ 瓦力官网 Walle 一个web部署系统工具,配置简单.功能完善.界面流畅.开箱即用!支持git.svn版本管理 ...

  9. Android 新一代多渠道打包神器

    作者 :李涛 ApkChannelPackage是一种高速多渠道打包工具.同一时候支持基于V1签名和V2签名进行多渠道打包.插件本身会自己主动检測Apk使用的签名方法,并选择合适的多渠道打包方式.对使 ...

最新文章

  1. django权限系统实现步骤_Django密码系统实现过程详解
  2. python打包成exe闪退_脚本程序打包后,黑框一闪而过,程序不能运行
  3. python所有文件都能用文本方式打开_python 打开文件方式讲解、常用读写操作指令(全)以及读写常见问题...
  4. 解决 【xshell 5 不能使用退格键和Delete建】的问题
  5. 文本多标签分类python_Scikitlearn多标签分类
  6. unity5.x Translate平移移动 以及GetComponent获取组件
  7. Java调用虚拟键盘输入法_Android 点击屏幕空白处收起输入法软键盘(手动打开)...
  8. ubuntu合并终端_技术|初级:如何在终端及图形界面中更新 Ubuntu
  9. 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
  10. GitHub 热榜:文字识别神器,超轻量级中文 OCR!一个超级厉害的开源库
  11. 1526B - I Hate 1111
  12. 一元购java源码下载_yungoucms - 源码下载|行业应用软件|其他行业|源代码 - 源码中国...
  13. python 爬虫——模拟登录古诗文网
  14. 新疆公需课继续教育答案 自动获取
  15. xp无线网卡开启的服务器,无线网卡在 Windows XP 系统下的安装与使用过程
  16. html 如何清除历史记录,如何删除网页历史记录?
  17. 原生开发什么意思_原生开发和混合开发的优劣势都是什么?
  18. python练习实例——特殊回文数
  19. 计算机国际期刊等级,计算机期刊等级(全)
  20. 区域D绕直线L旋转形成的旋转体体积计算

热门文章

  1. Win11老是弹出输入体验怎么办
  2. 0.96寸OLED屏幕_清行
  3. 腾讯云对象存储 COS 荣获对象存储领导力奖!!!
  4. P2455雾雨魔理沙
  5. 通过PIL打开图片并显示
  6. 关于阿里云OSS资源STS访问控制
  7. 2019计算机三级网络技术答案,2019年计算机三级网络技术精选练习题
  8. EDU教育邮箱有这么多学生福利,你确定不搞一个?
  9. react-native 性能优化,处理卡顿
  10. php 文件预览 水印,PHP图片上传,预览图上传,水印设置