开发环境:Ubuntu16.04
生成差异包:
1)安装bsdiff工具
sudo apt-get install bsdiff
2)生成差异包
sudo bsdiff old.apk new_apk patch_apk
三个参数分别对应旧APK,新APK,差异apk
到此处,我们差异包的生成就算完成了
合并差异包:
合并差异包的过程,参照:https://github.com/cundong/SmartAppUpdates(该博客对整个增量更新解决方案做了详细的说明)
本文重点:
第一点:用一张图概括增量更新的完整解决方案
https://github.com/cundong/SmartAppUpdates.git
https://github.com/cundong/SmartAppUpdates.git
第二点:
如果我们每次手动操作这一系列生成增量包的工作,当需要生成7个8个乃至10几个版本的差异包时,这个过程是多么的索然无味。。。。为此用python写了一个脚本用于解放双手.
脚本设计流程:
读取本目录下需要生成差异包的版本文件->生成各版本差异包->ssh上传所有文件至服务器
环境要求:
linux+bsdiff+python3
附件下载地址:
https://download.csdn.net/download/zx315476228/10309087
需要设置的参数
APK_NAME='Hbag_other'#APK名称
APK_VERSION='2.5.3.828'#APK版本
DAY=365#差异包间隔最长天数
HOST=''#服务器地址
USER=''#用户名
PASSWORD=''#服务器密码
UPDATE_FILES=[APK_NAME+'V'+APK_VERSION+'.apk','patch','update.html','update.py']#上传文件列表
CLOUD_DIR=''#服务器APP升级地址
小伙伴们可以针对自己公司的情况做一定的修改