作为一个有前途的android工程师,工作到一定年限后必然会承担起不少开发以外的工作,比如打包各应用市场的渠道包。当然,如果你在一家已经成熟的大公司,这些事都有专人负责,甚至是有打包机自动完成。但是如果是在一家初创企业,规模比较小的公司,免不了自己手动打包、并输出不同渠道名的apk包。
刚开始接触这项工作时,我想大家肯定都是手工去一步一步执行命令、或者使用相应的工具吧。刚开始感觉一切都很顺利,然而当一段时间之后,慢慢开始对这些步骤烦躁起来了。先来看看通常都会有哪些个步骤:
- 从git上拉取发布分支的源码
- 编译(3选1)
2.1 在Android Studio中导出release版本
2.2 在Android Studio的gradle task列表中找到打包任务并执行
2.3 直接在终端中使用gradle命令行 - 如果要发布到360应用市场,还要进行加固(2选1)
3.1 下载加固客户端进行加固
3.2 打开加固网页版进行上传加固,最后下载回来 - 在第二步执行之后,需要对加固后的包重新签名
- 使用工具输出不同渠道名的apk
- 压缩成zip包发给负责上传到应用市场的同事
看上去似乎只有6步,却需要在不同工具、命令之间来回切换,相当的繁琐。甚至比较背的情况下,还可能因为一个失误导致前功尽弃,需要从头来过。阿门。。。
于是,专业又有追求的程序员就开始琢磨起技术方式来解放自己了。对!就是我!!!
这不,一套自动化的脚本工具就开发出来了。
主角:ReleaseMe
这个项目其实超级简单,就是把原来需要手动去一步一步执行的操作整合成一个简单的程序,让我们最终可以只通过一条简单的命令完成这一连串的操作。
使用方法
- 打包默认分支(master),根据market清单输出渠道包
python release.py - 打包指定分支,根据market清单输出渠道包
python release.py -b master - 输出特定渠道(例如:应用宝yyb)
python release.py -c yyb - 打包指定分支,输出特定渠道(例如:应用宝yyb)
python release.py -b master -c yyb
配置文件说明
config.properties.sample
在使用前请去除此文件的.sample后缀,并根据实际情况按照说明填写以下配置
如果使用ssh通道则配置git,使用http通道则配置http
GIT_PROTOCOL=git
根据上面选择的通道,配置对应的git地址,eg:
ssh: git@github.com:wankey/ReleaseMe.git
http: https://github.com/wankey/ReleaseMe.git
GIT_PATH=
如果使用http通道,则请配置git账号密码,以便于自动登录
GIT_USERNAME=
GIT_PASSWORD=
app使用的签名文件信息,STORE_FILE请填写完整路径
STORE_FILE=
KEY_ALIAS=
STORE_PASSWORD=
KEY_PASSWORD=
如果输出的渠道包中包含360应用市场,请填写对应的渠道名,否则为空
CHANNEL_NAME_FOR_360=
360开发者平台的账号信息
360_ACCOUNT=
360_PASSWORD=
如果项目中配置了AndresGuard进行资源混淆,可将USE_RES_GUARD设置为true
USE_RES_GUARD=false
使用的渠道包输出工具(1为walle,2为packer-ng),请根据项目使用设置,暂不支持其他方式
MARKET_TOOL_TYPE=1
渠道清单文件
MARKET_FILE=./markets.txt
markets.txt
这个是渠道清单文件,编写规则为每行一个渠道名,不支持行尾注释
Github地址:ReleaseMe
网友评论