APKTool是GOOGLE提供的APK编译工具,能够反编译及回编译apk,同时安装反编译系统apk所需要的framework-res框架,清理上次反编译文件夹等功能。需要java支持。幸好Android Studio默认带APKTool,节省了APKTool的配置
1.查看APKTool的版本: 控制台输入apktool和apktool -version进行验证
2.反编译apk并修改代码:
在apk所在目录控制台输入下面指令,即可将文件名为source的apk反编译到outDir目录中
apktool d -o outDir source.apk
3.修改编译出的代码,可以更改res资源,manifests等。如果修改版本号:打开输入目录outDir找到apktool.yml文件,编辑修改versionCode
4.重新打包 :
通过以下命令就可以将目录outDir中的文件重新打包为no_sign_result.apk
apktool b -o no_sign_result.apk outDir
5.重新签名:
使用如下命令进行签名
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore demostore.jks -signedjar result-signed.apk no_sign_result.apk yourkey
注:demostore.jks为签名文件、yourkey为签名的key、no_sign_result.apk为要签名的源文件、result-signed.apk为签名后的目标文件