我试图检查一个项目的。apk文件,所以我决定使用APKtool来反编译它:
apktool d name.apk
我找到了我想要的,改变了它(我修改了一堆。json文件和一些。png,都在/assets文件夹中),但在用
重新构建它之后apktool b name -o new.apk
我在设备上安装应用程序时遇到了一些问题。有什么建议吗?
根据其他类似的问题,它可能是。apk的签名。但是这些都没有解释如何以正确的方式签名。apk文件。
以下内容供参考
使用apktool工具编译、反编译和签名APK
-
下载apktool最新版本
-
下载批处理文件和aapt.exe。
-
在PC的任何地方创建一个文件夹,并将所有的apktool.jar, aapt.exe和批处理脚本放在该文件夹中。
-
打开命令提示符
-
导航到放置apktool.jar、批处理脚本和aapt.exe的文件夹。
-
现在,您需要使用"如果";命令。
-
输入以下命令
apktool if name-of-the-app.apk
-
使用";d"命令进行反编译。"d"表示反编译。
apktool d name-of-the-app.apk
-
应用程序正确反编译后,将在放置应用程序的文件夹中创建一个新文件夹。该文件夹包含所有xml和小文件,可以在不同模式下编辑。
-
要重新编译应用程序,使用以下命令"B"。"b"意思就是重新编译。
apktool b name-of-the-app-folder
-
最终的建模应用程序将在"分发"中;位于apktool创建的原始应用程序文件夹中的文件夹。
签名apk
-
打开一个新的命令提示符,使用cmd
进入sign-apk目录 -
将修改后的unsigned apk移到此文件夹
-
然后输入以下命令-
java -jar signapk.jar certificate.pem key.pk8 path-of-the-folder-contaning-the-apk.apk path-of-the-new-signed-apk.apk
-
一旦编译,签名的apk将在同一文件夹中找到。
新编译应该使用zipalign
&apksigner
工具来自android-sdk build-tools。
顺便说一句,您可以使用keytool
来创建您的密钥存储库。
或. .只需使用跨平台的buildapp
命令(pip install buildapp
):buildapp -d <sources_folder> -o <outout_apk>