Попытка вручную подписать пакет Android с помощью jarsigner.exe и установить с помощью adb.exe

Я пытался использовать jarsigner.exe и adb.exe, чтобы вручную подписать пакет Android и установить его в эмуляторе API V8. Я создал простой проект HelloAndroid, и он сгенерирует подписанный HelloAndroid.apk, используя debug.keystore, расположенный в каталоге .android пользователя. При запуске из Eclipse он без проблем собирает и устанавливает apk на эмулятор.

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

Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

Я использовал следующую команду, чтобы подписать его.

jarsigner -verbose -keystore c:\users\jhwong\.android\debug.keystore
     -storepass android -keypass android -digestalg SHA-1 -sigalg SHA1withRSA
     -sigfile CERT -signedjar temp\HelloWorld2.apk
      temp\HelloWorld.unsigned.apk androiddebugkey
   adding: META-INF/MANIFEST.MF
   adding: META-INF/CERT.SF
   adding: META-INF/CERT.RSA
  signing: res/layout/main.xml
  signing: AndroidManifest.xml
  signing: resources.arsc
  signing: res/drawable-hdpi/icon.png
  signing: res/drawable-ldpi/icon.png
  signing: res/drawable-mdpi/icon.png
  signing: classes.dex

Это не дало мне никаких ошибок и просто чтобы убедиться, что я запустил:

jarsigner -verify -verbose temp\HelloWorld2.apk

Он показал, что jar был проверен, и каждый файл подписан и является частью манифеста. Затем использовал adb install -r temp \ HelloWorld3.apk .

Я видел несколько связанных тем и статей, предлагающих эти направления, но меня озадачивает, почему он не работает вручную, стихи с использованием Eclipse для сборки подписанного пакета. Я даже взял пакет, созданный из Eclipse, и смог использовать adb.exe для его установки, поэтому я сузил его до подписания пакета. Я пробовал хранилища ключей, которые я создал с помощью keytool, но они тоже не работали, поэтому я попробовал debug.keystore.

Буду признателен за любой совет, если они заметят что-нибудь не так с моим кодом jarsigner.

19
задан matiash 8 May 2014 в 18:25
поделиться