为什么签名android apk没有在模拟器上运行

Muh*_*man 2 java android signing apk

我已经制作了一个android项目的签名apk.每当我的客户端尝试在模拟器上运行它时,他都会面临以下错误消息:

D:\Android\android-sdk-
windows\tools>adb install -r abc.apk
500 KB/s (6940708 bytes in 13.534s)
        pkg: /data/local/tmp/abc.apk
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
Run Code Online (Sandbox Code Playgroud)

分辨率是多少?

Dan*_*pov 15

在我的情况下,这是因为我在运行JDK 7的机器上签名.降级到JDK 6修复了问题.感谢java.lang.SecurityException安装apk时的建议!

  • 如果您使用jarsigner签名并拥有JDK 7,则可以将选项"-digestalg SHA1 -sigalg MD5withRSA"添加到jarsigner命令,它将与JDK7一起使用. (7认同)

Chr*_*Orr 8

正如steelbytes所提到的,错误INSTALL_PARSE_FAILED_NO_CERTIFICATES表明APK没有像您认为的那样签名.

运行此命令以验证用于对APK进行签名的证书:
jarsigner -verify -verbose -certs abc.apk

对于APK中的每个条目,您应该看到如下内容:

sm    152412 Wed Oct 14 14:16:52 CEST 2009 classes.dex

      X.509, CN=Meebo, OU=Meebo, O=Meebo, L=Mountain View, ST=California, C=US
      [certificate is valid from 28/10/08 06:49 to 13/08/82 07:49]

否则,如果APK未签名,您将收到消息jar is unsigned.