Как подписать приложение, используя ключ загрузки
Я пытаюсь опубликовать свое приложение в магазине Google, и я не могу понять, как подписать приложение, используя ключ загрузки, как указано в https://developer.android.com/studio/publish/app-signing.html
Я использую Android Studio, и я подписал apk, используя Build → сгенерировал подписанный APK и создал свой собственный ключ в моем собственном пути/файле хранилища ключей. Теперь, чтобы сделать выпуск, мне нужно использовать ключ загрузки Google, который меня смутил. Таким образом,
-
Где я могу найти свой загрузочный ключ в Google Play Console? Под подпиской App этого приложения я могу увидеть сертификат загрузки MD5, SHA-1, SHA-256 и даже загрузить файл upload.pem. Что мне делать с этим?
-
то каким образом я могу использовать Build → generate подписанный APK в Android Studio, чтобы подписать его с помощью так называемого файла загрузки?
В моем приложении используется Google для аутентификации пользователей. Сейчас это работает, если я просто установлю свой собственный apk. Но если я загружу его из хранилища Google, он не сможет выполнить проверку подлинности Google, для чего я предполагаю, что я испортил процедуру публикации.
FYI, я использую процесс "Использовать подпишись в Google Play".
Пожалуйста, помогите.
Ответы
Ответ 1
Я думаю, что я понял это...
Когда вы решите использовать процесс подписания приложений Google, Google Play ИЗМЕНИТ подпись загруженного приложения на отпечаток сертификата SHA-1 сертификата подписи приложения (в отличие от сертификата загрузки). Посмотрите рисунок 1 в этом документе Studio для потока процесса.
[Между прочим, вы можете найти оба сертификата приложения в консоли Google Play → Управление релизами → Подписание приложения]
Это означает, что для работы Oauth необходимо создать новые учетные данные OAuth 2.0 (по адресу console.developers.google.com), в которых используется отпечаток сертификата подписи приложения (в отличие от отпечатка сертификата загрузки) с тем же именем пакета.
Ваш пакет теперь будет иметь 2 учетных данных Oauth, один для производственных выпусков, другой для вашей разработки/тестирования. Оба будут иметь одинаковое имя пакета; производственные учетные данные будут использовать отпечаток подписи приложения, в то время как учетные данные разработчика/тестирования будут использовать отпечаток загрузки (или локального хранилища ключей).
Очевидно, что вы не будете знать отпечаток подписи приложения, пока ваше приложение не будет впервые развернуто в Google play (его назначит GP). Таким образом, производственные учетные данные необходимо будет создать после первой загрузки в Google Play, но до нажатия кнопки "Развернуть в производство".
Ответ 2
В новой системе ключ загрузки - это простое и обычное хранилище ключей, которое вы можете создать с помощью студии android.
Итак, juste подпишите свой apk, и отправьте его в магазин.
Google удалит этот ключ и использует объявленный ключ приложения (и сгенерированный в игре Google)
Ответ 3
Какой процесс вы хотите использовать, есть два способа: -
- Управляйте ключом и хранилищем ключей самостоятельно или
- Использование подписи Google. (Который позже предоставит поддержку для извлечения ключа, даже если вы его потеряете).
Расскажите о первом, который используется больше всего времени и легко.
Шаги: -
- Создайте файл Keystore и сохраните пароль, псевдоним и пароль псевдонима в каком-то безопасном месте.
- Храните этот файл хранилища ключей в том же месте, где вы сохранили файл с указанными выше учетными данными.
- Теперь перейдите в build- > Generate Signed APK- > Выберите файл хранилища ключей, который вы только что создали, укажите все необходимые учетные данные, такие как: - пароль, псевдоним, пароль псевдонима.
- Студия Android создаст Signed APK для вас, и вы можете загрузить ее на игровой магазин.
- Когда в следующий раз, когда вы снова создадите APK, вам нужно следовать только шагам 3 и 4, поскольку файл хранилища ключей будет использоваться так же, как вы использовали ранее, потому что вы нажимаете обновление приложения. И когда вы хотите обновить приложение, APK должен подписать с тем же хранилищем ключей, или вы можете сказать тот же сертификат SHA.
Если вы хотите выполнить весь процесс с помощью cammand, вы можете добавить buildType в файл app.gradle, который будет лучше и подходящим способом.
Чтобы добавить конфигурацию buildType, см. код gradle: -
android{
buildTypes {
debug {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
storeFile file("path for release.keystore")
storePassword keystore_password
keyAlias keystore_alias
keyPassword keystore_alias_password
}
}
}
В приведенной выше конфигурации вам необходимо указать путь к файлу хранилища ключей выпуска в теге storeFile
, а также указать учетные данные в storePassword, keyAlias и keyPassword, как указано.
После добавления выше конфигурации теперь вы можете сгенерировать подписанный apk с помощью простой команды gradlew: - ./gradlew clean assembleRelease
Если вы хотите пойти со вторым методом. Подписание с помощью ключевых слов google app доступно здесь, если у вас возникнут какие-либо проблемы на любом этапе, пожалуйста, укажите этот шаг, чтобы я мог решить проблему.
Для создания ключа загрузки сначала вам нужно сделать следующее: -
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
затем подпишите apk, используя:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keys
Вы также можете использовать github lib для автоматизации всего процесса из здесь.
Или вы можете найти здесь для более подробной информации.
Ответ 4
Если Google подписывает ваше приложение для вас, вам придется использовать SHA из магазина воспроизведения Google. В консоли Google Play перейдите в раздел Управление выпуском и подписью приложений.
Из раздела Сертификат подписи приложения, возьмите значение отпечатка сертификата сертификата SHA-1 (не захватывайте часть SHA1:
):
11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE
и использовать его в этой команде
echo "11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE" | xxd -r -p | openssl base64
он должен дать вам ваш хэш
Ответ 5
Смотрите ссылки ниже, они четко объяснят, как.
https://developer.android.com/studio/publish/app-signing.html#generate-key
затем
https://developer.android.com/studio/publish/app-signing.html#sign_release
Ответ 6
Шаги для создания подписанного apk, который может быть загружен в playstore
1) Сначала перейдите к варианту сборки и выберите Release, по умолчанию выбран отладка.
2) Затем перейдите в меню Build и выберите Generate signed apk
.Есть вы найдете вариант выбора существующего хранилища ключей или создания нового хранилища ключей
3) Заполните необходимые данные, такие как путь к файлу хранилища ключей. Пароль учетной записи, ключевой псевдоним и пароль
4), а затем вы получите apk app-приложения для сборки, которое вы хотите опубликовать на playstore
Теперь перейдите в консоль разработчика Google и в меню "Управление выпуском" выберите вариант для создания выпуска и загрузки apk