欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

APK的反编译和重新编译

程序员文章站 2023-12-30 17:30:58
...

jar包准备工作:

apktool-xx.jar

signapk-xx.jar

参考:http://www.oschina.net/question/54100_33457

http://www.itnose.net/detail/6168594.html


1.完整反编译apk命令:

java -jar apktool\apktool-1.25.jar d -r myApp.apk

如果只是部分反编译

java -jar apktool\apktool-1.25.jar d  myApp.apk

如果你配置了java jdk的环境变量,那么这条命令可以这样

apktool\apktool-1.25.jar d -r myApp.apk


在反编译完成后,我们可以得到apktool.yml和public.xml


①这条命令运行的条件是在apktool-xx.jar包同一目录下存在appt.exe,或者你可以将appt.exe设置为环境变量。

appt.exe从在与你的android sdk目录下的/build-tools/android-xx/ 目录下


②重新打包编译可能会发生如下异常,说明你的命令参数缺少 -r命令,因此 -r是必须的

Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathN
otExist: apktool.yml
        at brut.androlib.Androlib.readMetaFile(Unknown Source)
        at brut.androlib.Androlib.build(Unknown Source)
        at brut.androlib.Androlib.build(Unknown Source)
        at brut.apktool.Main.cmdBuild(Unknown Source)
        at brut.apktool.Main.main(Unknown Source)
Caused by: brut.directory.PathNotExist: apktool.yml
        at brut.directory.AbstractDirectory.getFileInput(Unknown Source)
        ... 5 more


2.重新打包编译被反编译的apk

java -jar apktool\apktool-1.25.jar b myApp copyMyApp.apk


3.给apk签名

signapk-xx.jar,具体命令太多,建议使用第三方工具进行签名

转载于:https://my.oschina.net/ososchina/blog/358867

上一篇:

下一篇: