Почему подписанный андроид apk не работает на эмуляторе - PullRequest
2 голосов
/ 31 марта 2010

Я сделал подписанный apk проекта Android.Всякий раз, когда мой клиент пытается запустить его на эмуляторе, он сталкивается со следующим сообщением об ошибке:

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]

Какое разрешение?

Ответы [ 6 ]

15 голосов
/ 09 сентября 2011

В моем случае это было потому, что я подписал его на машине с JDK 7. Переход на JDK 6 устранил проблему. Спасибо java.lang.SecurityException при установке apk за предложение!

8 голосов
/ 01 апреля 2010

Как уже упоминалось 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.

2 голосов
/ 30 апреля 2013

попробуйте ниже код, это работает для меня.

Below line run when your jdk version is 6 for singing the apk

H:\Keytool>"C:\Program Files\Java\jdk1.6.0_09\bin\jarsigner.exe" -verbose -keystore donate.keystore "H:\Keytool\yourapkName.apk.apk" donate.keystore 

Below line run when your jdk version is 7 for singing the apk

H:\Keytool>"C:\Program Files\Java\jdk1.7.0_21\bin\jarsigner.exe" -verbose -keyst
ore denote.keyStore "H:\Keytool\yourapkName.apk" denote.keyStore -digestalg SHA1 -sigalg MD5withRSA
1 голос
/ 15 декабря 2011

Как указал Дэн, проверьте, используете ли вы JDK 7. Дополнительная информация: http://code.google.com/p/android/issues/detail?id=19567

0 голосов
/ 08 июля 2011

Вы можете запустить команду:

C:\Program Files\Android\android-sdk\platform-tools>adb logcat

Это даст вам более подробную информацию о том, какой именно файл не подписан:

Package has no certificates at entry assets/META-INF/AIR/application.xml; ignoring! 
0 голосов
/ 01 апреля 2010

Вы можете проверить, не отключил ли клиент установку неподписанных приложений в эмуляторе.

...