无法使用APKtool重新编译工作APK

时间:2014-02-26 03:22:28

标签: android

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

java -jar apktool.jar build myfolder myapk.apk

但我无法在手机上安装生成的APK文件。它告诉我:

Application not installed.

我错过了什么吗? 我甚至没有改变代码。

2 个答案:

答案 0 :(得分:6)

你的新重新编译的apk没有签名,根据规则,你无法安装unsigned apk。

我喜欢的一件好事是你可以自我签署apk文件。

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

这是命令:

  

keytool -genkey -v -keystore [nameofkeystore] -alias [your_keyalias] -keyalg RSA -keysize 2048 -validity [numberofdays]

这会问你一些事情,只需适当填写。

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

  

jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore [密钥库的名称] [您的.apk文件] [您的keyalias]

现在尝试安装新的apk文件,一切都应该正常。

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

答案 1 :(得分:0)

您需要使用jarsigner:

重新生成重新生成的APK文件

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