我使用APKTool 2.0 Beta 9反编译了一个APK,然后在不对源进行更改的情况下重建所有APK。 然后我使用以下命令重建了APK:
java -jar apktool.jar build myfolder myapk.apk
但我无法在手机上安装生成的APK文件。它告诉我:
Application not installed.
我错过了什么吗? 我甚至没有改变代码。
答案 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