Я попытался подписать свое новое приложение для Android, используя данные из старого хранилища ключей с именем "keystore.keystore" . Не удалось восстановить ключ, поэтому я удалил это хранилище ключей с диска и создал новое с именем "keystore.jks" .
Затем я добавил следующее в build.gradle, следуя инструкциям со страницы https://developer.android.com/studio/build/build-variants#signing:
signingConfigs {
release {
storeFile file("C:\\SomeDirectory\\keystore.jks")
storePassword "mypassword123"
keyAlias "key"
keyPassword "mypassword123"
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
Затем я перешел к пункту Сборка / создание подписанного пакета / APK в Android Studio. Он не выбирал информацию о хранилище ключей, ключе или псевдониме из указанного выше файла build.gradle, поэтому я снова ввел его вручную в диалоговом окне.
После нажатия кнопки «Далее» задание завершилось со следующей ошибкой:
"C: \ SomeDirectory \ keystore.keystore (система не может найти файл
указано)».
Обратите внимание на имя хранилища ключей, это старое имя. Откуда он взялся ???
Итак, я открыл cmd.exe и запустил это: "gradlew.bat assemblyRelease". Была похожая ошибка:
Задача: app: packageRelease FAILED
FAILURE: сборка не удалась, исключение.
* Что пошло не так:
Не удалось выполнить задачу ': app: packageRelease'.
java.io.FileNotFoundException: C: \ SomeDirectory \ keystore.keystore
(Система не может найти указанный файл)
Аннулирование кэшей / перезапуск не помогает.
Почему gradle ссылается на старое имя хранилища ключей, как заставить его использовать новое хранилище ключей?