如何正确重新编译apk文件?



我试图检查一个项目的。apk文件,所以我决定使用APKtool来反编译它:

apktool d name.apk

我找到了我想要的,改变了它(我修改了一堆。json文件和一些。png,都在/assets文件夹中),但在用

重新构建它之后
apktool b name -o new.apk

我在设备上安装应用程序时遇到了一些问题。有什么建议吗?

根据其他类似的问题,它可能是。apk的签名。但是这些都没有解释如何以正确的方式签名。apk文件。

以下内容供参考


使用apktool工具编译、反编译和签名APK

  1. 下载apktool最新版本

  2. 下载批处理文件和aapt.exe。

  3. 在PC的任何地方创建一个文件夹,并将所有的apktool.jar, aapt.exe和批处理脚本放在该文件夹中。

  4. 打开命令提示符

  5. 导航到放置apktool.jar、批处理脚本和aapt.exe的文件夹。

  6. 现在,您需要使用"如果";命令。

  7. 输入以下命令

    apktool if name-of-the-app.apk

  8. 使用";d"命令进行反编译。"d"表示反编译。

    apktool d name-of-the-app.apk

  9. 应用程序正确反编译后,将在放置应用程序的文件夹中创建一个新文件夹。该文件夹包含所有xml和小文件,可以在不同模式下编辑。

  10. 要重新编译应用程序,使用以下命令"B"。"b"意思就是重新编译。

    apktool b name-of-the-app-folder

  11. 最终的建模应用程序将在"分发"中;位于apktool创建的原始应用程序文件夹中的文件夹。

签名apk

  1. 打开一个新的命令提示符,使用cmd

    进入sign-apk目录
  2. 将修改后的unsigned apk移到此文件夹

  3. 然后输入以下命令-

    java -jar signapk.jar certificate.pem key.pk8 path-of-the-folder-contaning-the-apk.apk path-of-the-new-signed-apk.apk

  4. 一旦编译,签名的apk将在同一文件夹中找到。

新编译应该使用zipalign&apksigner工具来自android-sdk build-tools。
顺便说一句,您可以使用keytool来创建您的密钥存储库。
或. .只需使用跨平台的buildapp命令(pip install buildapp):
buildapp -d <sources_folder> -o <outout_apk>

最新更新