Изменение существующего приложения XF Android для использования Google App Signing. Какой вариант выбрать в магазине Play?

10

У меня уже есть приложение Xamarin Forms. Я хотел бы начать использовать .aab, и для этого необходимо, чтобы я подписал Google App.

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

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

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

alan2
источник
Keystore защищен паролем и зашифрован с помощью SHA256, какую ошибку вы беспокоитесь?
Пратик
Я просто не уверен, как поступить и сделать это. Какой вариант использовать в первый раз. Я попытался выполнить поиск в Интернете, но не смог найти примеров того, как это сделать с помощью моего проекта Xamarin Forms Android
Alan2
Файл хранилища ключей? Здесь , вы можете сделать это из командной строки , а также
Prateek
Это необходимо для обеспечения безопасности вашего приложения для будущих обновлений. После загрузки ключа подписи, даже если ваш аккаунт Google скомпрометирован, никто не сможет загрузить и обновить приложение, если у них нет точного ключа. Храните ключ в надежном месте и никогда не теряйте его.
Шанран

Ответы:

3

Поскольку у вас есть существующее приложение и у вас есть .keystore, вам придется выполнить следующие шаги: -

Шаг 1: - Зарегистрируйте подпись приложения в Google Play a. Войдите в свою игровую консоль. б. Выберите ваше текущее приложение. с. В левом меню выберите Управление выпуском> Подписание приложения. д. Если вы этого еще не сделали, ознакомьтесь с Условиями предоставления услуг и выберите Принять.

Этот шаг регистрирует вас для подписания приложения в Google Play.

Шаг 2: - Отправьте исходный ключ в Google и создайте ключ загрузки a. Найдите свой оригинальный ключ подписи приложения. б. Войдите в свою игровую консоль. с. Выберите приложение. д. В левом меню выберите Управление выпуском> Подписание приложения. е. Выберите опцию экспорта и загрузки, которая лучше всего подходит для вашего процесса выпуска, и загрузите существующий ключ подписи приложения. Здесь вам нужно будет выбрать опцию 3 - Экспорт и выгрузка ключа (без использования хранилища ключей Java), поскольку у вас есть файл .keystore.

Шаг 3: - Создайте ключ загрузки (необязательно и рекомендуется). Это важный шаг.

Если вы обновляете приложение, которое уже опубликовано в Google Play, с помощью существующего ключа подписи приложения, вы можете включить подпись приложения в Google Play следующим образом:

Если вы еще этого не сделали, подпишите свое приложение с помощью существующего ключа подписи приложения и установите флажок «Экспорт зашифрованного ключа», чтобы сохранить ключ подписи в виде зашифрованного файла * .pepk. Этот файл понадобится вам позже. Войдите в свою игровую консоль и перейдите к своему приложению. В левом меню выберите Управление выпуском> Подписание приложения. Если применимо, ознакомьтесь с Условиями обслуживания и выберите Принять. Выберите один из вариантов, который лучше всего описывает ключ подписи, который вы хотите загрузить в Google Play, и следуйте приведенным инструкциям. Например, если вы использовали Android Studio для экспорта ключа подписи приложения, как описано на этой странице, выберите «Загрузить ключ, экспортированный из Android Studio», и загрузите файл * .pepk для своего ключа. Нажмите Регистрация. Теперь вы должны увидеть страницу с подробной информацией о подписи вашего приложения и загрузить сертификаты. Google Play теперь подписывает ваше приложение существующим ключом при его развертывании для пользователей. Однако одно из самых важных преимуществ подписывания приложения в Google Play - это возможность отделить ключ, который вы используете для подписи артефакта, который вы загружаете в Google Play, от ключа, который Google Play использует для подписи вашего приложения для распространения среди пользователей. Итак, рассмотрите следующие шаги в следующем разделе, чтобы сгенерировать и зарегистрировать отдельный ключ загрузки.

Создать и зарегистрировать сертификат загрузки

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

Далее описываются ситуации, в которых вы видите возможность зарегистрировать сертификат загрузки в консоли Play:

Когда вы публикуете новое приложение, подписанное с помощью ключа подписи, и включаете его в приложение Google Play для подписи. Когда вы собираетесь опубликовать существующее приложение, которое уже выбрало подпись приложения в Google Play, но оно подписано с помощью ключа подписи. Если вы не публикуете обновление для существующего приложения, в котором уже включена подпись приложения в Google Play, и хотите зарегистрировать сертификат загрузки, выполните следующие шаги и перейдите к разделу о том, как восстановить потерянное или скомпрометированный закрытый ключ загрузки.

Если вы этого еще не сделали, создайте ключ загрузки и хранилище ключей.

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

$ keytool -export -rfc
  -keystore your-upload-keystore.jks
  -alias upload-alias
  -file output_upload_certificate.pem

Теперь, когда у вас есть сертификат загрузки, зарегистрируйте его в Google при появлении соответствующего запроса в консоли Play или прочитайте раздел ниже, чтобы зарегистрировать его через службу поддержки Google Play.

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

Если вы не сгенерировали новый ключ загрузки: продолжайте использовать исходный ключ подписи приложения, чтобы подписывать релизы перед их загрузкой в ​​Google Play. Если вы потеряете ключ подписи приложения, вы можете сгенерировать новый ключ загрузки и зарегистрировать его в Google, чтобы продолжить обновление приложения.

Если вы сгенерировали новый ключ загрузки: используйте новый ключ загрузки, чтобы подписать релизы перед их загрузкой в ​​Google Play. После того, как вы загрузите их, Google проверяет релиз на наличие ключа загрузки, чтобы подтвердить вашу личность. Если вы потеряли ключ загрузки, вы можете связаться со службой поддержки, чтобы сбросить его.

Нихилу
источник
Спасибо, Ваш ответ кажется наиболее понятным для моего конкретного случая. У меня может быть еще несколько вопросов позже.
Alan2
2

Это зависит от того, какое расширение у файла хранилища ключей - .keystore или .jks? Так как вы упомянули, что это существующее приложение, вы должны следовать инструкциям для существующих приложений в разделе «Согласие на подписку приложения в Google Play» здесь .

Если вы используете файл JKS, просто выберите опцию «Java Keystore», или, если у вас есть файл KEYSTORE, затем выберите «Не использовать Java Keystore». А затем продолжайте следовать другим шагам.

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

Saamer
источник
Это расширение .keystore. У меня есть .keytore и .keyinfo файл. Я действительно ищу некоторые подробные инструкции здесь как ответ для меня и, вероятно, других, которые пройдут это шаг за шагом.
Алан2
2

Вы должны будете следовать этой документации, чтобы создать файл хранилища ключей.

Полное объяснение того, что вы спрашиваете, находится на сайте документации Android.

Опция 1:

В Android Studio мы используем Visual Studio, поэтому, если вы не хотите использовать файл хранилища ключей, созданный в Android Studio, вы можете использовать шаги Visual Studio, аналогичные приведенным ниже.

Вариант 2:

Использование хранилища ключей Java

Вы можете использовать командную строку для создания нового файла хранилища ключей, упомянутого здесь в теме

keytool.exe -genkeypair -v -keystore <filename>.keystore -alias <key-name> -keyalg RSA -keysize 2048 -validity 10000

Обратите внимание, что Java должен быть добавлен в путь, чтобы он работал везде, иначе вы запустите эту команду из C: \ Program Files \ Android \ Jdk \ microsoft_dist_openjdk_1.8.0.25

Вариант 3:

Хранилище ключей по умолчанию предоставляет только несколько типов алгоритмов шифрования. Кажется, эта опция помогает вам использовать ключ, сгенерированный другими алгоритмами, которые вы конвертируете в .pemфайл, который вам кажется, а затем используете его для подписи вашего приложения.

С упоминанием .AAB я полагаю, что вы заинтересованы в рекомендуемом подходе подписания apk, упомянутом в разделе «Подписание приложений в Google play» , вам нужно загрузить свой ключ, и в следующий раз, если вы перейдете по ссылке на Google Play, вы можете использовать хранилище ключей из облака, чтобы подписать приложение локально. через Visual Studio, а также.

Если это новое приложение, вы бы выбрали Opt в новом приложении, в противном случае Opt в существующем приложении.

Prateek
источник