Android Can';t使用APKtool重新编译工作APK

Android Can';t使用APKtool重新编译工作APK,android,Android,我使用APKTool 2.0 Beta 9反编译了一个APK,然后在不更改源代码的情况下重建了所有APK。 然后,我使用以下命令重建了APK: java -jar apktool.jar build myfolder myapk.apk 但我无法在手机上安装生成的APK文件。它告诉我: Application not installed. 我错过什么了吗? 我甚至没有更改代码。您需要使用jarsigner放弃重新生成的APK文件: $jarsigner-verbose-keystore my

我使用APKTool 2.0 Beta 9反编译了一个APK,然后在不更改源代码的情况下重建了所有APK。 然后,我使用以下命令重建了APK:

java -jar apktool.jar build myfolder myapk.apk
但我无法在手机上安装生成的APK文件。它告诉我:

Application not installed.
我错过什么了吗?
我甚至没有更改代码。

您需要使用jarsigner放弃重新生成的APK文件:


$jarsigner-verbose-keystore my-release-key.keystore HelloWorld.apk alias_name

您新重新编译的apk未签名,根据规则,您无法安装未签名的apk

我喜欢的一件好事是,您可以对apk文件进行自签名

您必须使用“Keytool”生成自己的证书

命令如下:

keytool–genkey–v–keystore[nameofkeystore]–alias[your_keyalias]–keyalg RSA–keysize 2048–有效期[天数]

这会问你一些问题,只需适当地填写即可

生成证书后,使用“jarsigner”对apk进行签名

jarsigner–verbose–sigalg MD5withRSA–digestalg SHA1–密钥库[您的密钥库名称][您的.apk文件][您的密钥别名]

现在尝试安装新的apk文件,一切都会正常工作

编辑-我直接使用keytool和jarsigner命令,因为我已经在PATH变量中设置了它们的路径。在您的情况下,您必须遍历到jdk目录的“bin”文件夹。
/bin/

为了简单起见,我制作了一个用于密钥签名的自动化脚本。如果您对python感到满意,那么请看一看