前言:随着手游迭代更新越来越快,打包需求也越来越频繁,每周都喊你去打包有时候还要等着别人功能做完去打包那么是多么的蛋疼。本来有个用C#实现的工具,在本地电脑上没用,但是测试都不用,只能弄过网页给他们一键打包。
一:工具语言
tomcat 本地网页服务器搭建,jsp,python
二:具体实现
1:搭建好网页服务端后,通过jsp直接调用python脚本
2:svn更新以及资源拷贝
有时候我们的svn资源路径并不都是给安卓用的也有包含给ios用的,此处主要是负责提取出安卓所需要的资源并拷贝到打包目录下,
并且做自己的自定义操作
3:反编译apk包,初始母包很少改动的,周更包一般都是资源的变更
cmd = "jdk1.7.0_13\\bin\\java.exe -Duser.home=jdk1.7.0_13/bin -jar apktool.jar d " + srcApk + " -o " + destApk
print cmd
os.system(cmd)
4:修改版本号信息以及资源的拷贝等
找到反编译后的apktool.yml文件, 然后找到对应的versionCode 和versionName字段修改。
然后再把安卓需要的资源从临时母包拷贝到assets下
5:回编apk
cmd = "jdk1.7.0_13\\bin\\java.exe -Duser.home=jdk1.7.0_13/bin -jar apktool.jar b " + apkDir + " -o " + destApk
print cmd
os.system(cmd)
6:重新签名apk
parms = " -keystore " + keyStoreStr + " -storepass " + keystorePasswordStr + " -sigfile CERT -signedjar " + destApkPath + " " + srcApkPath + " " + keystoreAliasStr
cmd = "jdk1.6.0_02\\bin\\jarsigner.exe" + parms
print cmd
os.system(cmd)
7:zip对齐
cmd = "zipalign.exe -f 4 " + srcApkPath + " " + outputApkPath
print cmd
os.system(cmd)
8:最后apk的处理啦,你想把包丢到哪里去,或者直接共享目录都可以