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

Java 如何正确地重新编译apk文件?,java,android,apk,decompiling,apktool,Java,Android,Apk,Decompiling,Apktool,我试图检查一个项目的.apk文件,所以我决定使用APKtool反编译它,使用: apktool d name.apk 我找到了我想要的,对它进行了更改(我只修改了一堆.json文件和一些.png文件,都在/assets文件夹中),但在使用 apktool b name -o new.apk 我在设备上安装应用程序时遇到一些问题。有什么建议吗 根据其他类似的问题,它可能是.apk的签名。但是这些都没有解释以正确的方式对.apk文件进行签名的方法。以下内容供您参考 使用apktool实用工具编

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

apktool d name.apk
我找到了我想要的,对它进行了更改(我只修改了一堆.json文件和一些.png文件,都在/assets文件夹中),但在使用

apktool b name -o new.apk
我在设备上安装应用程序时遇到一些问题。有什么建议吗


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

以下内容供您参考


使用apktool实用工具编译、反编译和签署APK。

  • 下载最新的apktool版本

  • 下载批处理文件和aapt.exe

  • 在电脑的任意位置创建一个文件夹,并将所有apktool.jar、aapt.exe和批处理脚本放在该文件夹中

  • 打开命令提示符

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

  • 现在,您需要使用“IF”命令安装该文件

  • 键入以下命令

    apktool如果app.apk的名称

  • 对于反编译,请使用命令“d”。“d”代表反编译

    apktool d应用程序的名称。apk

  • 正确反编译应用程序后,将在放置应用程序的同一文件夹中创建新文件夹。它包含所有xml和smali文件,可针对不同模式进行编辑

  • 要重新编译应用程序,请使用以下命令“B”。“b”只是指重新编译

    apktool b应用程序文件夹的名称

  • 最终修改的应用程序将位于apktool创建的原始应用程序文件夹内的“dist”文件夹中

  • 签署apk

  • 打开一个新的命令提示符,并使用cmd切换到sign apk目录

  • 将修改后的未签名apk移动到此文件夹中

  • 然后键入以下命令-

    java-jar signapk.jar certificate.pem key.pk8 path-of-the-folder-contaning-the-apk.apk新签名的apk.apk路径

  • 编译后,将在同一文件夹中找到已签名的apk