Подтвердить что ты не робот

Ошибка подписания APK: не удалось прочитать ключ из хранилища ключей

Я разрабатываю приложение для Android под intellij и gradle. и используя следующий способ генерации файла хранилища ключей:

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

затем использовал файл хранилища ключей в файле build.gradle:

signingConfigs {
    robert {
        storePassword 'robert'
        storeFile file('/Users/bournewang/Documents/Project/android.keystore')
        keyPassword 'robert'
        keyAlias 'mike'
    }
}

когда, наконец, пытается сгенерировать подписанный файл apk:./gradlew assembleRelease

он дает ошибку:

Выполнение не выполнено для задачи ': Myexample: packageRelease'.

Не удалось прочитать ключ из хранилища ключей

4b9b3361

Ответ 1

Сначала проверьте файл хранилища ключей, в примере, где вы создаете файл с именем my-release-key.keystore. Если его правильный и действительно присутствует в папке Users/bournewang/Documents/Project, проверьте псевдоним, в вашем примере это -alias alias_name, но в конфигурации вы указали псевдоним mike

Ответ 2

Чтобы узнать, что вы можете использовать, используйте команду gradle signingReport.

На mac:

./gradlew signingReport

В Windows:

gradlew signingReport

Ответ 3

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

Этот ответ должен исправить вашу проблему с подпиской;)

Ответ 4

Удаление double-quotes решило мою проблему, теперь его:

DEBUG_STORE_PASSWORD=androiddebug
DEBUG_KEY_ALIAS=androiddebug
DEBUG_KEY_PASSWORD=androiddebug

Ответ 5

В моем случае, копируя текст из другого источника, он каким-то образом включал пространство в конце записи в буфер обмена. Таким образом, у ключевого пароля было место в конце.

Ответ 6

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

Ответ 7

Если кто-то не использует конфигурацию подписи и пытается проверить команду Cordova Release, введя все параметры в командной строке, вам может потребоваться заключить пароли в одинарные кавычки, если в вашем пароле есть специальные символы

cordova run android --release -- --keystore=../my-release-key.keystore --storePassword='password' --alias=alias_name --password='password'