需求分析:
产品是一个阅读类软件,在版本上线后因为渠道推广的原因一直有特殊渠道要求内置书的需求,需求并不难做,需要准备好材料,修改软件内的assets文件内容,修改渠道号重新打包。基本步骤是这样的:
1. 接到特殊内置书的需求,书籍的id
2. 通过浏览器拼接url找到书籍的信息,包括书籍信息,章节列表,部分章节内容
3. 把书籍信息保存为特定文件,文件名要和代码逻辑适配
4. 粘贴到项目中
5. 打包
6. 发送测试验收
整个流程作为一个熟练工,大概需要20分钟的时间搞定然后回复到之前的工作状态,包括git分支切换等乱七八糟的事情。其实这个事情说起来也不大,但是,很烦。每次都是重复的工作,并且有越来越频繁的趋势。所以,是时候展示一下技术了(反正本公司测试也不懂),毕竟身为技术人员(不会承认是害怕在自己环节出错的).
其实这个流程涉及到的操作分解一下包含有一下步骤:
1. 网络请求
2. 文件io
3. apk重新签名
这些都可以用脚本实现….所以事情就很简单了。。。。
脚本使用的语言是python
,没什么高深的部分,就一个一个实现,下边是具体的方法:
1 | import urllib |
网络请求
1 | import zipfile |
io操作
1 | import os |
apk重新签名
另外如果还需要动态修改渠道号的话,可以参考美团快速多渠道打包的方案,实现也是通过io操作来的,需要在代码中做适配。
好了,现在就很简单了(直接把脚本给测试)。