MAC使用APKTool反编译apk修改版本号后重新打包
现在业务上出现客户要求如若生产环境出现紧急事件,需要版本回退的情况下,我这边的代码又没做版本分之处理,那么只能更改之前的版本号来实现。
不敢夺他人之功,原文在此处
我之前的文章:android反编译apktool—dex2jar—jdgui
一、反编译apk并修改版本号
在apk所在目录控制台输入下面指令,即可将文件名为source的apk反编译到outDir目录
开始反编译apk
apktool d -o outDir source.apk
或者apktool d source.apk -o outDir
二、修改版本号
打开输入目录outDir找到apktool.yml文件,编辑修改versionCode
三、重新打包
通过以下命令就可以将目录outDir中的文件重新打包为no_sign_result.apk
apktool b -o no_sign_result.apk outDir
或者
apktool b outDir -o no_sign_result.apk
四、重新签名
使用如下命令进行签名jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore demostore.jks -signedjar result-signed.apk no_sign_result.apk yourkey
注:
- demostore.jks为签名文件
- no_sign_result.apk为要签名的源文件
- result-signed.apk为签名后的目标文件
- yourkey为签名的key