Проблема с подписью Keytool: подделка хранилища ключей или неверный пароль
Я пытаюсь подписать релизную версию моего приложения для Android (отладка была подписана нормально) для API Карт Google:
keytool -list -alias cancertrials -keystore /Users/syalam/Documents/workspace/Cancer_Trials/keys/release -storepass android -keypass cancertrials
Но я получаю ошибку:
java.io.IOException: Keystore was tampered with, or password was incorrect
Я уверен, что пароль правильный, потому что, когда я пытаюсь экспортировать свое приложение в Eclipse, он запрашивает хранилище ключей и пароль, и я ввожу его правильно.
Не уверен, почему я не могу подписать это? Мне нужно отобразить Google Maps в режиме выпуска (работа в режиме отладки).
5 ответов
Я не думаю, что вам нужно включать пропуск, когда вы просто делаете список. Storepass шифрует закрытый ключ, который не отображается при создании списка. Просто попробуйте это:
keytool -list -keystore /Users/salam/Documents/yada/yada
Затем введите пароль хранилища ключей при появлении запроса. Если это сработает, вы можете попробовать просто ввести пароль в командной строке.
Вы также можете проверить и убедиться, что вы используете ту же версию Java. Я не думаю, что это проблема, но если вышеупомянутое не поможет попробовать это.
Каким-то образом на Windows, Keytool не будет принимать пароль. Мне был нужен только пароль SHA1 для настройки идентификатора клиента в проекте на консоли Google Dev. Мне показалось, что следующее работает
keytool --list --keystore android.jks --protected
Это напечатало ключи SHA1 для всех псевдонимов.
Проверьте свой псевдоним один раз. Иногда ваш псевдоним отличается от псевдонима keytool, тогда он выдает ту же ошибку. т.е.
У меня та же проблема с jarsigner на jdk1.6.0.31, когда я вернулся на 1.6.0_29 jarsigner работает правильно. Пожалуйста, знайте о версии JDK.
keytool -list -keystore "Path of the keystore"
Эта команда запросит пароль в linux
машины, тогда как в Windows машина, вам просто нужно ввести список хранилища ключей.