Xamarin.Android Как сбросить ключ загрузки с помощью Google App Signing и использовать его для подписи другого APK - PullRequest
0 голосов
/ 24 октября 2018

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

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

1. ( не знаю, пришлось ли мне это делать, чтобы сгенерировать новый ключ загрузки ). Создан новый архив и новое хранилище ключей для проекта Android вXamarin и экспортировал APK в папку.В этой папке я запустил командные строки в следующих шагах:

2. Сгенерировал новый ключ загрузки с помощью командной строки: keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks

3. Экспортировал сертификат для этого ключа в файл * .pem: keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks

4.Отправить * .pem в службу поддержки разработчиков Google Play. **

Примечание: чтобы использовать команду keytool в командной строке Windows 10, я произвел поиски открыл переменные среды, нашел PATH в разделе «Пользовательские переменные», щелкнул правой кнопкой мыши и отредактировал, а также добавил новый путь к папке, в которой находится keytool.exe: C: \ Program Files \ Java \ jre1.8.0_191 \ bin

Теперь, когда у меня есть файл * .pem и * .jks, как мне создать новый файл APK для моего проекта Xamarin Android, который будет служить обновлением, подписанный новым ключом загрузки в Visual Studio / Xamarin?

Ответы [ 3 ]

0 голосов
/ 07 декабря 2018

Другой альтернативный способ:

1) Создать новый ключ с помощью командной строки:

keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks

2) В подписи приложения выберите параметр импорта и импортируйте путь созданного ключа.

3) создать сборку и отправить в игровой магазин.

0 голосов
/ 16 июля 2019

Я расскажу вам, что случилось, когда я потерял свой ключ загрузки.

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

  1. Я запросил новый ключ загрузки, перейдя по адресу: PlayConsoleSupport

  2. заполнено необходимоеполя.

  3. сделал enter image description here

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

  5. Я сделал, как они сказали в электронном письме, создал еще одно хранилище ключей.

  6. сохранил его в C: users / **** / uploadkey.jks [важно]

  7. открыл cmd и написал команду, которую я получил в электронном письме,я не помню этого.

  8. , и это дало мне Certificate.pem

  9. Я ответил на это письмо и приложил сертификат.pem

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

0 голосов
/ 26 октября 2018

Я понял, как это сделать.

После отправки файла * .pem в службу поддержки Google Play Developer для сброса ключа загрузки, они подтвердили, что он был успешно сброшен (yay Google App Signing), но для его активации требуется несколько дней.

Когда он станет активным, выполните следующие действия:

1. Перейдите в Visual studio и заархивируйте проект Android из Build / Archive

2.В пункте меню «Архивы»:выберите последний архив и нажмите «Открыть папку».Откроется папка, в которой находится неподписанный * .apk файл.Он должен быть подписан вручную с помощью файла хранилища ключей * .jks, упомянутого выше (keystore.jks).

Сначала выполните zipalign архива без подписи (обязательно добавьте C: \ Program Files \ Java \ jre1.8.0_191 \ bin в переменную PATH в пользовательских переменных):

zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-align.apk

Подпишите вручную файл zipaligned * .apk с помощью keystore.jks

знак apksigner --ks keystore.jks --out my-app-release.apk my-app-unsigned-align.apk

Процесс подписаниязапросит пароль, использованный при создании файла keystore.jks / *. pem.После этого полученный файл apk готов к загрузке в Google Play Store в качестве обновления приложения.Keystore.jks теперь является новым ключом загрузки.

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