如何正确地重新编译 apk 文件?
How to correctly re-compile an apk file?
我试图检查项目的 .apk 文件,所以我决定使用 APKtool 反编译它:
apktool d name.apk
我找到了我想要的东西,改变了它(我只修改了一堆 .json 文件和一些 .png,都在 /assets 文件夹中),但是在用
apktool b name -o new.apk
我在我的设备上安装应用程序时遇到了一些问题。有什么建议吗?
根据其他类似问题,这可能是.apk 的签名。但其中 none 解释了以正确方式签署 .apk 文件的方法。
以下供大家参考
使用 apktool 实用程序编译、反编译和签署 APK。
下载最新的 apktool 版本。
下载批处理文件并aapt.exe。
在PC任意位置创建文件夹,将所有apktool.jar、aapt.exe和批处理脚本放入该文件夹。
打开命令提示符。
导航到放置 apktool.jar、批处理脚本和 aapt.exe 的文件夹。
现在,您需要使用“IF”命令安装文件。
键入以下命令。
apktool if name-of-the-app.apk
反编译使用命令“d”。 “d”代表反编译。
apktool d name-of-the-app.apk
应用程序正确反编译后,将在您放置应用程序的同一文件夹中创建一个新文件夹。这包含所有 xml 和 smali 文件,可以针对不同模式进行编辑。
要重新编译应用程序,请使用以下命令“B”。 “b”仅表示重新编译。
apktool b name-of-the-app-folder
最终修改后的应用程序将位于“dist”文件夹中,该文件夹位于由 apktool 创建的原始应用程序文件夹内。
签署 apk
打开一个新的命令提示符并使用 cmd
切换到 sign-apk 目录
将修改后未签名的 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。
我试图检查项目的 .apk 文件,所以我决定使用 APKtool 反编译它:
apktool d name.apk
我找到了我想要的东西,改变了它(我只修改了一堆 .json 文件和一些 .png,都在 /assets 文件夹中),但是在用
apktool b name -o new.apk
我在我的设备上安装应用程序时遇到了一些问题。有什么建议吗?
根据其他类似问题,这可能是.apk 的签名。但其中 none 解释了以正确方式签署 .apk 文件的方法。
以下供大家参考
使用 apktool 实用程序编译、反编译和签署 APK。
下载最新的 apktool 版本。
下载批处理文件并aapt.exe。
在PC任意位置创建文件夹,将所有apktool.jar、aapt.exe和批处理脚本放入该文件夹。
打开命令提示符。
导航到放置 apktool.jar、批处理脚本和 aapt.exe 的文件夹。
现在,您需要使用“IF”命令安装文件。
键入以下命令。
apktool if name-of-the-app.apk
反编译使用命令“d”。 “d”代表反编译。
apktool d name-of-the-app.apk
应用程序正确反编译后,将在您放置应用程序的同一文件夹中创建一个新文件夹。这包含所有 xml 和 smali 文件,可以针对不同模式进行编辑。
要重新编译应用程序,请使用以下命令“B”。 “b”仅表示重新编译。
apktool b name-of-the-app-folder
最终修改后的应用程序将位于“dist”文件夹中,该文件夹位于由 apktool 创建的原始应用程序文件夹内。
签署 apk
打开一个新的命令提示符并使用 cmd
切换到 sign-apk 目录将修改后未签名的 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。