我使用dex2jar反编译了一个Android .apk文件,使用jd-gui“文件>保存所有源代码”抓取了java源文件,并获得了一个.zip文件和java文件。 我完成了这个“指南”中的步骤:http://a4apphack.com/security/sec-code/extract-android-apk-from-market-and-decompile-it-to-java-source。
然后我在几个java文件中做了一些更改,现在我想知道如何重新创建一个apk文件。
使用apktool进行反编译,backsmali和smali工具可以使用.smali文件,但现在我有.java文件......
答案 0 :(得分:1)
AFAIK你不能。将Smali文件转换为java并不完美,99%的时间你都无法获得确切的代码,因此如果有一种方法可以重新编译它,它很可能不会运行而且会崩溃(取决于源代码的复杂性)。如果你想修改一个应用程序(我不建议这样做。严重的是,如果没有开发人员的明确批准,不要这样做!)你将不得不修改smali文件,然后你可以用apktool重新编译它:
apktool b <app name>
然后签名:
java -jar SignApk.jar key.pem key.pk8 <app name>.apk <app name>_signed.apk