Как подписать приложение, используя ключ загрузки

Я пытаюсь опубликовать свое приложение в магазине 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

он должен дать вам ваш хэш

Ответ 6

Шаги для создания подписанного apk, который может быть загружен в playstore

1) Сначала перейдите к варианту сборки и выберите Release, по умолчанию выбран отладка.

2) Затем перейдите в меню Build и выберите Generate signed apk .Есть вы найдете вариант выбора существующего хранилища ключей или создания нового хранилища ключей

3) Заполните необходимые данные, такие как путь к файлу хранилища ключей. Пароль учетной записи, ключевой псевдоним и пароль

4), а затем вы получите apk app-приложения для сборки, которое вы хотите опубликовать на playstore

Теперь перейдите в консоль разработчика Google и в меню "Управление выпуском" выберите вариант для создания выпуска и загрузки apk