自动化瓦力多渠道打包python脚本
自动化瓦力多渠道打包python脚本
目录介绍
- 1.本库优势亮点
- 2.使用介绍
- 3.注意要点
- 4.效果展示
- 5.其他介绍
0.首先看看我录制的案例演示
- 如下所示,这段python代码很简单,工具十分强大,一键多渠道打包工具。
- 项目的开源地址:https://github.com/yangchong211/YCWalleHelper
1.本库优势亮点
- 通过该自动化脚本,自需要run一下或者命令行运行脚本即可实现美团瓦力多渠道打包,打包速度很快
- 配置信息十分简单,代码中已经注释十分详细。Keystore信息一定要配置,至于渠道apk输出路径,文件配置路径等均有默认路径,没有配置也没关系
- 针对输出路径是根目录下的output文件夹,文件不存在则创建,文件存在则是先删除之前多渠道打包生成的【也就是删除output文件夹下所有文件】,然后在重新生成
- 多渠道的定义是在channel这个文件中,建议是txt文件格式,你可以根据项目情况修改,十分快捷
- 如果瓦力打包工具更新了,直接替换一下lib中的jar即可。可以在python3.x上跑起来!
- 我也参考了大量的博客,网上博客很多,我始终觉得对于这种实操性很强的案例,还是博客和项目一起学习才效果更好。感谢无数的前辈大神!
2.使用介绍
- 第一步:准备基础的文件
- 将你加固好的apk文件,keystore,已经需要多渠道配置信息的channel放到指定的apk文件中
- 初步建议,如果你想自定义存放文件的路径,可以先熟悉一下python的代码再做修改,也没有什么难度
- 第二步:配置Config.py文件中的属性
- 配置keystore信息,这个地方引用你的keystore信息
# keystore信息
# Windows 下路径分割线请注意使用\\转义
keystorePath = "D:\\GitHub\\YCWalleHelper\\venv\\Include\\apk\\ycPlayer.jks"
keyAlias = "yc"
keystorePassword = "19930211"
keyPassword = "19930211"
- 配置其他信息,比如apk的名称,渠道包配置路径,输出路径等等
# 加固后的源文件名(未重签名)
# 必须要配置
protectedSourceApkName = "app_release_aligned_signed.apk" # 下面这些可以不用配置,代码中会有默认的值
# 加固后的源文件所在文件夹路径(...path),注意结尾不要带分隔符,默认在此文件夹根目录
protectedSourceApkDirPath = ""
# 渠道包输出路径,默认在此文件夹output目录下
channelsOutputFilePath = ""
# 渠道名配置文件路径,默认在此文件夹apk目录下
channelFilePath = ""
# 额外信息配置文件(绝对路径)
# 配置信息示例参看,默认是此文件夹apk目录下
extraChannelFilePath = "" # Android SDK buidtools path , please use above 25.0+
# 必须配置
sdkBuildToolPath = "D:\\Program File\\AndroidSdk\\build-tools\\28.0.3"
- 第三步:直接运行
- 第一种方式是通过PyCharm工具运行,这个直接run就可以呢。程序员建议使用这种!
- 第二种方式是通过命令行运行,就可以实现自动化打包
python MainWalle.py
- 第四步:修改多渠道配置信息
- 直接找到channel文件,进行修改即可,注意格式!
360 #360
91anzhuo # 91安卓
anzhuo # 安卓
baidu # 百度
wandoujia # 豌豆荚
xiaoyangdoubi #小杨逗比
yingyongbao # 应用宝
3.注意要点
3.1 注意在apk目录中一定要放入channel,keystore,还有加固的apk文件
- channel是指指定多渠道信息
- keystore是指你要签名的apk的钥匙
- apk是指你需要进行多渠道打包的加固文件。注意apk文件名称要和Config配置的apk名称要一致。

3.2 配置keystore信息需要注意的问题
- 主要是注意路径是全路径
# keystore信息
# Windows 下路径分割线请注意使用\\转义
keystorePath = "D:\\GitHub\\YCWalleHelper\\venv\\Include\\apk\\ycPlayer.jks"
keyAlias = "yc"
keystorePassword = "19930211"
keyPassword = "19930211"
3.3 注意apk下存放的apk文件名称和Config.py中配置的apk名称要相同
- 看下面这个截图
3.4 关于部分疑问问题
- 关于Config.py中的sdkBuildToolPath,建议和你使用studio的版本保持一致。别忽略这种小的问题!
- 注意如果要配置定义路径等属性,由于编码格式为UTF-8,所以不要带异常字符
- 多渠道打包时,如果要修改多渠道信息,直接修改channel,这个文件就不要修改成其他的名称呢!
4.效果展示
- 如图所示,建议你亲自尝试一下,特别好玩!
5.其他介绍
关于其他内容介绍

关于博客汇总链接
其他推荐
- 博客笔记大汇总【15年10月到至今】,包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并且修正,持续完善……开源的文件是markdown格式的!同时也开源了生活博客,从12年起,积累共计47篇[近20万字],转载请注明出处,谢谢!
- 链接地址:https://github.com/yangchong211/YCBlogs
- 如果觉得好,可以star一下,谢谢!当然也欢迎提出建议,万事起于忽微,量变引起质变!
参考博客
- https://github.com/Meituan-Dianping/walle
- https://blog.csdn.net/ruancoder/article/details/51893879
- https://www.cnblogs.com/morang/p/python-build-android-apk.html
- https://www.jianshu.com/p/b5b4f7fc5264
- https://www.jianshu.com/p/20a62d1eba3f
- https://github.com/Jay-Goo/ProtectedApkResignerForWalle
- https://blog.csdn.net/u013692888/article/details/77933548
关于LICENSE
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
自动化瓦力多渠道打包python脚本的更多相关文章
- 打包python脚本为exe可执行文件-pyinstaller和cx_freeze示例
本文介绍使用cx_freeze和pyinstaller打包python脚本为exe文件 cx_freeze的使用实例 需要使用到的文件wxapp.py, read_file.py, setup.py ...
- PyInstaller打包python脚本的一些心得
PyInstaller打包python脚本的一些心得 因为在公司经常要帮同事做一个从excel表格中提取出需要的内容的重复工作,比较繁琐还容易出错:于是就想着要写个程序,但是同事又不可能在电脑上也装上 ...
- 打包python脚本为exe的坎坷经历, by pyinstaller方法
打包python脚本为exe的坎坷经历, by pyinstaller方法 又应验了那句歌词. 不经历风雨, 怎么见得了彩虹. 安装过程略去不提, 仅提示: pip install pyinstall ...
- PyInstaller打包Python脚本为exe
1.PyInstaller-3.1.1 百度云链接 http://pan.baidu.com/s/1jHYWin8 密码 oapl 2.安装最新版本的 pywin32-217.win32-py2 ...
- 用Py2exe打包Python脚本简单介绍
一.简述 Py2exe,从这个名字上就可以理解,把Python脚本转换为windows平台上面可以运行的可执行程序(*.exe)的工具.经过转换后,你可以不 用安装Python的执行环境就可 ...
- py2exe打包python脚本
在工作中遇到将python脚本转换成exe可执行程序的需求,通过查询可以使用py2exe来构建满足要求的程序,这里简要说明一下使用步骤. 一.py2exe是一个将python脚本转换成windows上 ...
- 封装打包Python脚本
1.前言 封装打包Python的好处,节省了安装各种各样包依赖的问题,同时可以加强我们代码隐私的安全性,这里我的演示环境是Python3.6 ,CentOS7的系统,同时打包工具采用pyinstall ...
- 40、IOS自动打包-Python脚本
第一种:基于编译的打包 编译工程--找到.app文件--新建Payload文件夹--拷贝.app到Payload文件夹--压缩成zip--更改后缀名为ipa--完成! 第二种(有问题,暂时不需要看) ...
- PyInstaller打包python脚本
用python写的工具写好了,想打包然后发给测试同事使用,最后选择了PyInstaller,支持Windows.Linux.OS X,支持打包成一个文件夹或单个EXE文件. 我是直接在线安装的,在 ...
- iOS 多渠道打包 编译脚本
http://webfrogs.me/2012/09/19/buildipa/http://blog.csdn.net/baxiaxx/article/details/8267295http://ic ...
随机推荐
- DELPHI IDE 代码智能提示
- NC16664 [NOIP2004]合唱队形
题目链接 题目 题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2-,K,他们的身高分 ...
- Google搜索操作符:让你秒变搜索专家
搜索引擎对互联网的重要性不言而喻,不过,随着ChatGPT及其类似AI工具的推出,对搜索引擎带来了前所未有的挑战. 因为ChatGPT具有自然语言处理能力,能够更好地理解用户的搜索意图,提供更准确.更 ...
- ORACLE cannot fetch plan for SQL_ID
今天做SQL执行计划测试的时候,发现sqlplus无法正常打印执行计划,根据网上资料整理如下: ..... SYS@orcl> select * 2 from table( 3 ...
- js常用知识点整理
说明:以下内容都是我工作中实际碰到的js知识点. 后面还会碰到其他知识点或对原来解决方案的改进,都会在本篇中持续不断的维护,希望给刚参加工作或初学的朋友一些参考. 1.给元素添加事件 $(" ...
- win32 - IFileDialog接口的使用
官方示例: CommonFileDialogModes.cpp 如果我们想要自己创建一个通用的文件对话框,则可以使用IFileOpenDialog接口,代码参考: HRESULT BasicFileO ...
- Redis原理再学习01:数据结构-跳跃表skiplist
跳跃表skiplist 简介 你一定比较好奇Redis里面的 sorted set 是怎么实现的,底层到底是什么?它的排序功能就是用到了这个skiplist-跳跃表. 什么是跳跃表? 跳跃表可以看做是 ...
- Eharts立体柱状图
一下这三个div大小不一样 为了保证每次柱状图渲染正确 添加key <div class="echart1" id="dangerChart1" key= ...
- SpringBoot的自动装配原理及应用
什么是SpringBoot自动装配 所谓的"SpringBoot自动装配"就是指:通过注解和一些简单的配置就能将某些组件载入Spring容器环境中,便于使用. 比如,很多sprin ...
- springboot自动配置原理以及spring.factories文件的作用详解
一.springboot 自动配置原理 先说说我们自己的应用程序中Bean加入容器的办法: package com.ynunicom.dc.dingdingcontractapp; import co ...


