Flutter: проблема с подписью приложения, добавление предыдущего хранилища ключей из версии 1 приложения, разработанного с помощью Xamarin, в исключение key.properties throw

#flutter #keystore #jks #android-app-signing

#flutter #хранилище ключей #jks #android-app-signing

Вопрос:

Привязка к развертыванию новой версии текущего приложения в Play Store.

У меня есть старый файл .keystore, используемый для подписи предыдущего приложения, и когда я пытаюсь добавить метаданные в файл key.properties в папке Android, я получил следующее исключение

содержимое файла key.properties:

 storePassword=xxx
keyPassword=xxx
keyAlias=key
storeFile=C:/Users/Nike/**key.keystore**
  

СБОЙ: сбой сборки с исключением.

 * What went wrong:
Execution failed for task ':app:packageReleaseBundle'.
> java.util.concurrent.ExecutionException: java.lang.RuntimeException: jarsigner.exefailed with exit code 1 :
  jarsigner: Certificate chain not found for: key.  key must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
  

В предыдущем дистрибутиве для других приложений я сгенерировал файл key.jks, и распространение было выполнено успешно.

Но у этого приложения уже есть первая версия в Play Store, разработанная с использованием Xamarin, и теперь для новой версии, разработанной с использованием Flutter, требуется предыдущий сертификат для подписи.

Ответ №1:

Проблемы возникли из-за того, что keyAlias=key был неправильным.

 > C:Program FilesJavajdk1.8.0_181bin>keytool -v -list -keystore C:UsersNikekeyname.keystore
  

В расположении java keytool.
Удалось найти псевдоним для keyname.keystore.

 storePassword=xxx
keyPassword=xxx
keyAlias=newAliasName
storeFile=C:/Users/Nike/**key.keystore**
  

Flutter clean и flutter build appbundle создайте пакеты приложений