Подписание APK с помощью командной строки

Я разрабатываю приложения для Android с помощью Eclipse и Android SDK. Для тестирования приложения на устройстве довольно неудобно каждый раз выполнять одну и ту же работу:

  • Инструменты Android
  • Экспорт подписанного пакета приложений
  • Выберите проект
  • Выберите хранилище ключей
  • Использовать пароль
  • Выберите псевдоним
  • Использовать пароль
  • Выберите выходной путь и файл

После этого с помощью командной строки и adb удалите предыдущую версию установленного приложения. Затем установка новой версии приложения.

Поскольку этот путь слишком длинный, я хотел написать сценарий всего действия, но jarsigner всегда останавливается с одной и той же ошибкой, и я не могу подписать apk.

unable to sign jar: java.util.zip.ZipException: invalid entry compressed size (expected 761 but got 763 bytes)

В этот момент я довольно смущен. jarsigner взят из JDK 1.6.0.26. Eclipse находится в версии 3.6.2. Android SDK полностью обновлен. Я работаю под Windows Vista 32-бит.

У кого-нибудь есть подобные проблемы с jarsigner или может дать мне несколько советов?!


person Marco    schedule 06.07.2011    source источник


Ответы (1)


Почему бы вам просто не отлаживать приложение на своем телефоне?

Вот как это сделать:

  1. Сначала загрузите и установите драйверы вашего телефона (найдите через поиск Google)
  2. Отлаживайте проект в eclipse так же, как и на эмуляторе в eclipse, но когда eclipse предлагает вам выбрать устройство, выберите свой телефон.

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

person Todd Davies    schedule 06.07.2011
comment
Способ прямой отладки на телефоне — использование неподписанных приложений. Это то, что я обычно делаю. Мое приложение теперь использует карты Google, поэтому для правильной работы требуются подписанные приложения. - person Marco; 06.07.2011
comment
@FlyBy, ваше приложение все еще подписано при отладке на телефоне - оно подписано вашим ключом отладки, который автоматически генерируется для вас. Просто создайте ключ API Карт на основе вашего ключа отладки, как описано в code.google.com/android/add-ons/google-apis/ - person RivieraKid; 06.07.2011
comment
@RivieraKid да, это имеет смысл. Я знал, что он подписан отладочным ключом, но не знал, что его нужно регистрировать для карт. Хороший ответ! - person Todd Davies; 06.07.2011
comment
@RivieraKid, здорово! Это то, что мне было нужно! Большое спасибо! Принято и проголосовано! :D - person Marco; 06.07.2011