Android Studio - было подделано хранилище ключей или неверный пароль

Я пытаюсь создать подписанный APK с помощью встроенного виджета в Android Studio v1.4.

Однако я получил эту досадную ошибку

Ошибка: не удалось выполнить задачу ': app: packageRelease'. Не удалось прочитать ключ cckey из магазина "C: \ Users \ Lancelot \ Desktop \ release.jks": хранилище ключей было подделано, или пароль был неверным

Мне удалось получить свой псевдоним ключа, как показано на скриншоте ниже  введите описание изображения здесь

(Чтобы попасть сюда, пароль хранилища ключей должен быть правильным; в противном случае будет отображаться ошибка)

Затем я ввел свой ключевой пароль, но не смог подписать APK ... Я даже попытался изменить ключевой пароль с помощью командной строки keytool -keypasswd -alias cckey -keystore C:\Users\Lancelot\Desktop\release.jks. Запустив это, мне нужно правильно ввести старый пароль, прежде чем вводить новый пароль, который все прошел; это доказывает, что ключевой пароль изначально не был неправильным.

Итак, вопрос в том, что если мой пароль хранилища ключей, псевдоним ключа и пароль ключа верны, тогда что с ним не так ??


person Lancelot    schedule 07.10.2015    source источник
comment
это хранилище ключей, которое вы ранее успешно использовали? Или это вновь созданное хранилище ключей, с которым вы не можете строить?   -  person Bartek Lipinski    schedule 07.10.2015
comment
Это то же старое хранилище ключей, которое я использовал   -  person Lancelot    schedule 07.10.2015
comment
Было то же самое в Android Studio 1.5, но оно исчезло после того, как я обновился до 2.0.   -  person careful7j    schedule 21.04.2016


Ответы (17)


У меня была аналогичная проблема при обновлении приложения. Keytool не читал правильный файл хранилища ключей и вместо этого указывал на более старый файл хранилища ключей, который я создал несколько месяцев назад и не использовал. Искал какие-то решения в Интернете, но не нашел. Почти сдался, но я подумал о том, чтобы очистить проект, нажав Сборка, а затем Очистить проект. Это последнее средство сработало для меня.

person Arnulfo B. Bataller    schedule 11.02.2019
comment
Спасибо работает !! Спаси мою жизнь, здесь же Android Studio 3.3.1 - person finalpets; 22.02.2019
comment
Работайте и над флаттер-проектами, просто сделайте флаттер чистый. - person Md Sadab Wasim; 30.08.2019
comment
Старая добрая чистота снова работает! - person Damercy; 01.06.2021
comment
Вот почему я подумал, что Android грязный - нам нужно чистить его чаще, чем мы хотели. - person Samuel T. Chou; 05.07.2021

По-видимому, я только что нашел еще одно сообщение, опубликованное несколько месяцев назад, которое решило мои проблемы, с которыми я боролся несколько дней. ...

Просто нужно изменить пароль хранилища ключей и псевдонима ключа на одинаковый, чтобы все заработало. Хотя я до сих пор не знаю, почему одно и то же хранилище ключей работало раньше, когда я публиковал обновления; затем больше не работает, пока я не сменил пароли.

Если у кого-то есть на это ответ, сообщите, пожалуйста, всем!

person Lancelot    schedule 12.10.2015
comment
Вам лучше вообще без ключевых паролей псевдонимов. Java их совсем не поддерживает. - person user207421; 12.10.2015
comment
Я видел другие сообщения, в которых разработчики говорили, что Gradle 1.3.1 работает. Похоже, что с тех пор Gradle был сломан. Есть две нерешенных проблемы (СТАРОЕ 4 МЕСЯЦА!): code.google.com/p/android/issues/detail?id=188574 и code.google.com/p/android/issues/detail?id=187532 - person Someone Somewhere; 04.02.2016
comment
не имеет смысла, если вы измените псевдоним и ключ, вы получите дубликаты в Google Play! и вы не можете перезаписать свое старое приложение - person ; 22.04.2016
comment
Ага, вот и все, я забыл. - person Ronen Festinger; 17.02.2017
comment
Я боролся с той же проблемой, что я делал неправильно, это передавал пароль магазина в ключевое слово и пароль ключа для пароля хранилища. Это объясняет, почему работает один и тот же пароль. - person tanni tanna; 08.03.2018

Судя по всему, Google решил установить пароль хранилища ключей по умолчанию android.

Утилита keytool предложит вам ввести пароль для хранилища ключей. Пароль по умолчанию для хранилища ключей отладки - android. Затем keytool печатает отпечаток пальца на терминале.

См. https://developers.google.com/android/guides/client-auth

person TechCrystal    schedule 21.04.2017

У меня была такая же проблема, и я на 100% уверен в своем пароле. Я нашел решение напрямую, добавив -storepass в командную строку. Использование этой команды помогло:

keytool -list -v -keystore C:\....\keystore.jks -storepass HereMyPassword -alias HereMyAlias
person JPhi Denis    schedule 23.01.2017
comment
Мне кажется, что единственное, что было неправильно, - это значение псевдонима ключа. поэтому keytool -list -v -keystore myFile.jks -storepass 'somePassword' работал, так как я смог увидеть ключевой псевдоним - person Alon Kogan; 11.09.2017

как я решил ту же проблему с Android Studio 2.2.3

Android studio >> файл> структура проекта

найдите свой проект под модулями слева, выберите его и щелкните вкладку подписи. затем вы можете создать новую конфигурацию, щелкнув значок зеленого плюса и заполнить все учетные данные при подписании существующим ключом хранилища ключей. (убедитесь, что ваши "key elias", "key password" и "store password" должны быть такими же, как ранее использовались с тем же хранилищем ключей, которое сейчас используется)

затем перейдите на вкладку ароматов и выберите созданный файл конфигурации в качестве конфигурации подписи.

снова перейдите на вкладку типов сборки и выберите созданный файл конфигурации в качестве конфигурации подписи.

и ок, чтобы закончить задачу

счастливого кодирования :)

person Community    schedule 23.01.2017

В моем случае я копировал и вставлял хранилище ключей и пароли ключей из Evernote, а Android Studio не обрабатывала их правильно. После ввода паролей вручную я смог сгенерировать APK.

person Thomas Elliot    schedule 25.03.2019
comment
Спасибо, дружище, ты спас мне день :) - person Ahsan Syed; 30.12.2020

Убедитесь, что после определений констант нет пробелов:

MYAPP_RELEASE_STORE_FILE=mykeystore.keystore
MYAPP_RELEASE_KEY_ALIAS=keyalias
MYAPP_RELEASE_STORE_PASSWORD=pass
MYAPP_RELEASE_KEY_PASSWORD=pass
person Jk33    schedule 06.03.2018

Похоже, в Android Studio 4.2 есть ошибка. Теперь кажется, что IDE постоянно кэширует НЕПРАВИЛЬНЫЙ пароль либо в хранилище ключей, либо в ключ.

Даже после того, как ДВАЖДЫ повторно введены правильные учетные данные, IDE кэширует неправильное значение для одной из записей. Начиная с этого поста, я вынужден вручную повторно вводить оба пароля при каждой сборке.

Обновить: снимите флажок запоминать пароли при следующем создании APK. Затем, в следующий раз после этого, вы можете повторно проверить запоминание паролей, и Android Studio повторно кэширует и запоминает правильные пароли.

Обновление 2. Невероятно, но после выполнения описанных выше действий ошибка возникает снова. Android Studio AGAIN перезаписывает один из паролей неправильным паролем, поэтому похоже, что мы вернулись к исходной точке, пока эта ошибка не будет устранена: навсегда снимите флажок сохранения паролей и вручную вводите пароли для каждой сборки. :-(

person rmirabelle    schedule 08.07.2021
comment
Это должно быть отмечено как принятый ответ - person mahdi azarm; 15.07.2021

Моя проблема заключалась в том, что я установил пароль магазина в keyPassword и ключевой пароль в storePassword и меняя пароли один на другой, проблема была решена.

person pableiros    schedule 11.01.2019

У меня было такое же сообщение при создании подписанного apk. Я думал, что мой пароль правильный, а с файлом .jks возникла проблема. Но я ввел неправильный пароль

Затем я попробовал другой возможный пароль, и он просто сработал.

Примечание: Android studio не блокирует вас, если вы вводите неправильный пароль несколько раз. поэтому попробуйте другой возможный пароль.

Или, если вы забыли пароль, попробуйте поискать пароль в файлах журнала.

Перейдите по ссылке => Help => Show Log in Explorer [Если вы не обновляли свою студию Android в промежутке]

Или перейдите в => .gradle => 5.4.1 (может отличаться) => ExecutionHistory => executionHistory.bin и найдите storePassword

person Makarand    schedule 18.12.2019


В моем случае (с использованием Android Studio) я обнаружил, что файл хранилища ключей нельзя удалить, и он кажется заблокированным OpenJDK. Я подозреваю, что между OpenJDK и брандмауэром Windows10 должно быть что-то не так. Я временно закрываю брандмауэр. И это работает.

person user11087513    schedule 20.02.2019

Недавно, подписывая внешний apk с помощью keytool, я случайно подделал debug.keystore в C:\Users\myuser\.android, поэтому я просто сделал резервную копию предыдущих debug.keystore и debug.keystore.lock этих двух файлов и удалил их. Затем перестройте проект, и он сгенерирует новый файл debug.keystore и debug.keystore.lock. Вот как я исправил свой.

Резюме

  1. резервное копирование предыдущих debug.keystore и debug.keystore.lock
  2. Удалить его из C:\Users\myuser\.android
  3. Восстановить проект
person Atik Rahman    schedule 27.11.2019

Я тоже боролся с той же проблемой.

Я был уверен в своем пароле, но проблема была в пароле.

Как упоминалось в более раннем сообщении I, когда нужно => .gradle => 5.4.1 (может отличаться) => executionHistory => executionHistory.bin и выполните поиск storePassword

И я увидел, что в моем пароле отсутствует буква по причинам кодировки:

В executeHistory.bin пароль был: ... z§s ....., а в моем keystore.properties пароль был: ... z§ .....

После исправления все работает нормально.

person Nathalie    schedule 06.02.2020
comment
Не могли бы вы дать мне путь к keystore.properties, пожалуйста ... - person MarkWalczak; 15.12.2020

Я столкнулся с той же проблемой и попытался исправить указанные ниже шаги.

Шаг 1. Убедитесь, что ваше имя файла хранилища ключей и псевдоним ключа.

Примечание. Пароль хранилища ключей и псевдоним должны совпадать.

а) В студии Android Build ›› сгенерируйте подписанный пакет Apk / .. и выберите APK ›› Далее.

введите описание изображения здесь

Убедитесь, что запомнили все поля, которые мы собираемся упомянуть в build.gradle и Gradle.properties.

б) Источник проекта android ›› приложение ›› Хранилище ключей отладки / выпуска

введите описание изображения здесь

Шаг 2: настройте кесторе в Build.gradle.

Откройте android ›› приложение ›› build.gradle.

Убедитесь, что в android ›› signinConfigs все работает правильно на основе ключа отладки или выпуска.

введите описание изображения здесь

Шаг 3. Настройте хранилище ключей в gradle.propertie.

Откройте android ›› gradle.properties.

Установите флажок ниже. Если нет, вы можете добавить его вместе с файлом кесторе. введите описание изображения здесь

Надеюсь, это кому-то поможет.

person Elavarasan r    schedule 24.03.2021

В моем случае я забыл перенести цель сборки из теста эспрессо в приложение:

person Slava Glushenkov    schedule 22.02.2019

иногда в режиме отладки вам не нужно вводить пароль, просто нажмите Enter, когда появится запрос пароля :)

person Miguel Vieira    schedule 09.06.2019