APK反编译、重打包、签名之apktool实现

1.下载apktool

https://download.csdn.net/download/qq_25844803/10842372
(点一下,爽一年,我是渣渣辉)

2.准备环境

将解压出来的apktool.bat和apktool.jar放到同一个文件夹下(如:C:\apktool)
将需要反编译的APK也放在该文件夹下
img2

3.进入CMD

打开cmd,进入到apktool所在文件夹
img3

4.反编译APK

反编译命令:

apktool  d  TestPrint.APK

效果如图所示:
img4-1
进入apktool所在的文件夹,可见多出一个文件夹TestPrint.APK.out,如图所示
img4-2
至此,反编译成功

5.修改文件

根据需求修改TestPrint.APK.out文件夹里的内容。
修改完毕后,为方便第6步重打包,将原来的TestPrint.APK删除,
将TestPrint.APK.out文件夹重命名为TestPrint。
img5

6.重新打包成为APK

重打包命令:

apktool  b  TestPrint

效果如图所示:
img6-1
重打包完毕后,打开TestPrint\dist文件夹,就可以看到新的APK
img6-2
为方便后续操作,将此APK复制粘贴到apktool文件夹下
img6-3

7.生成keystore

Keystore生成命令:

keytool -genkey -alias abc.keystore -keyalg RSA -validity 20000 -keystore abc.keystore

如果出现乱码,如下图。
img7-1
此时,可退出cmd,再重新进入cmd,定位到apktool文件夹,生成keysotre。
img7-2
接下来按照自己情况输入相关信息
img7-3
此时,apktool文件夹下就会看到一个abc.keystore文件
img7-4

8.签名

签名命令:

jarsigner -verbose -keystore abc.keystore -signedjar TestPrint_1.apk TestPrint.APK abc.keystore

如果出现下图所示的错误,请检查环境变量中的JDK(or JAVA_HOME)是否配置正确
img8-1
正常情况,应该是以下情况,输入之前填写的密码
img8-2
输入正确后,开始签名
img8-3
此时,签名完毕,apktool文件夹下出现新的APK–>TestPrint_1.apk
img8-4
至此,apk反编译,修改文件,重打包,签名全部完成。可以将此apk安装到手机查看结果。

猜你喜欢

转载自blog.csdn.net/qq_25844803/article/details/84953332