Для всех, кто может столкнуться с этим, я хотел бы поделиться ответом, который может быть у вас или для других, просматривающих эту статью (например, меня).
Я использую Eclipse и создал в нем свое хранилище ключей для своей версии 1.0. Перенесемся на 3 месяца, и я хотел обновить его до версии 1.1. Когда я выбрал Экспорт ... в Eclipse и выбрал это хранилище ключей, ни один из моих паролей, которые я мог вспомнить, не сработал. Каждый раз он говорил: «Хранилище ключей подделано или неверный пароль». Дошло до того, что я готовился запустить на нем программу грубой силы, пока я мог стоять (неделю или около того), чтобы попытаться заставить ее работать.
К счастью, я подписал свой неподписанный файл .apk вне Eclipse. Вуаля - заработало! Мой пароль был правильным все время! Я не уверен, почему, но при подписании его в Eclipse через меню «Экспорт» сообщалось об ошибке, даже если мой пароль был правильным.
Итак, если вы получаете эту ошибку, вот мои шаги (взятые из документации Android ), которые помогут вам подготовить ваш apk к выпуску на рынок.
ПРИМЕЧАНИЕ. Чтобы получить неподписанный apk из Eclipse: щелкните правой кнопкой мыши проект> Инструменты Android> Экспорт неподписанного приложения.
Подписать неподписанный файл apk с помощью хранилища ключей
а. откройте командную строку администратора и перейдите в «c: \ Program Files \ Java \ jdk1.6.0_25 \ bin» или любую другую версию java, которая у вас есть (где вы скопировали неподписанный файл apk и хранилище ключей)
б. в командной строке с файлом хранилища ключей и неподписанным apk в том же каталоге введите следующую команду: jarsigner -keystore mykeystorename.keystore -verbose unsigned.apk myaliasnamefromkeystore
c. он скажет: «Введите кодовую фразу для хранилища ключей:». Введите его и нажмите Return.
d. ===> Успех выглядит так:
adding: META-INF/MANIFEST.MF
...
signing: classes.dex
е. неподписанная версия перезаписывается на месте, поэтому ваш подписанный файл apk теперь имеет то же имя файла, что и неподписанный
Используйте ZipAlign для сжатия подписанного файла apk для распространения на рынке.
а. откройте командную строку администратора и перейдите в папку «c: \ AndroidSDK \ tools» или в другое место, где вы установили Android SDK.
б. введите эту команду: zipalign -v 4 signed.apk signedaligned.apk
c. ===> Успех выглядит так:
Verifying alignment of signedaligned.apk (4)
50 META-INF/MANIFEST.MF (OK - compressed)
...
1047129 classes.dex (OK - compressed)
Verification succesful
d. подписанный и выровненный файл находится в signedaligned.apk (имя файла, которое вы указали в предыдущей команде)
========> ГОТОВЫ ПОДАТЬ НА РЫНОК