Разница между ключами Google API Debug и Release - PullRequest
0 голосов
/ 16 марта 2019

Полагаю, на этот вопрос было дано много ответов, но я не могу найти понятного ответа.

В настоящее время я разрабатываю приложение для Android, которое использует Google Maps API. Мне удалось заставить его работать некоторое время, но я так и не понял, как правильно использовать клавиши Debug и Release.

Я не знаю, как получить сертификаты отладки и выпуска SHA-1 для моего приложения через Android Studio.

На консоли Playstore я могу получить сертификат выпуска SHA-1 (см. Рисунок ниже), но я не знаю, как его получить до публикации своего приложения в магазине. И это проблема, потому что, когда мне нужно опубликовать свое приложение в первый раз, у меня нет этого сертификата, и карта не может работать. Я должен опубликовать свое приложение с испорченной картой, а затем получить сертификат SHA-1 через консоль Play Store.

Release SHA-1 from the playstore

Более того, я не знаю, как добавить ключ отладки и выпуска в моем проекте Android Studio. На представлении Android в папке res у меня есть google_maps_api.xml с тегом отладки (см. Рисунок ниже). Но как я могу добавить один для выпуска? Это тот же ключ? В таком случае, почему здесь есть тег отладки?

Example of debug file

Спасибо за любой совет и объяснение, которое вы можете дать мне!

1 Ответ

1 голос
/ 19 марта 2019

На основе Google Maps Places SDK для Android Документация

Сертификат отладки : инструменты Android SDK генерируют этот сертификат автоматически при выполнении отладочной сборки. Только используйте это сертификат с приложениями, которые вы тестируете. Не пытайтесь публиковать приложение, которое подписано с сертификатом отладки. Отладочный сертификат более подробно описано в Вход в Debug Режим в документации разработчика Android.

Сертификат выпуска : инструменты Android SDK генерируют этот сертификат при создании сборки выпуска. Вы также можете создать это сертификат с помощью программы keytool. Используйте этот сертификат, когда вы готовы выпустить ваше приложение в мире.

Теперь, чтобы получить сертификат выпуска, выполните следующие действия:

  1. Найдите файл хранилища ключей вашего сертификата выпуска. Для хранилища ключей выпуска нет места по умолчанию или имени. Если вы не укажете один из них при создании приложения для выпуска, сборка оставит ваш .apk без знака, и вам придется подписать его, прежде чем вы сможете опубликовать его. Для выпуска сертификата также необходимы псевдоним сертификата и пароли для хранилища ключей и сертификата. Вы можете перечислить псевдонимы для всех ключей в хранилище ключей, введя:

    keytool -list -keystore your_keystore_name
    

Замените your_keystore_name на полный путь и имя хранилища ключей, включая расширение .keystore . Вам будет предложено ввести пароль хранилища ключей. Затем keytool отображает все псевдонимы в хранилище ключей.

  1. Введите в терминале или командной строке следующее:

    keytool -list -v -keystore your_keystore_name -alias your_alias_name
    

Замените your_keystore_name на полный путь и имя хранилища ключей, включая расширение .keystore . Замените your_alias_name псевдонимом, который вы присвоили сертификату при его создании.

Вы должны увидеть результат, подобный следующему:

Alias name: <alias_name>
Creation date: Feb 02, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4cc9b300
Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033
Certificate fingerprints:
    MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9
    SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75
    Signature algorithm name: SHA1withRSA
    Version: 3

Строка, которая начинается SHA1, содержит отпечаток сертификата SHA-1. Отпечаток пальца - это последовательность из 20 двузначных шестнадцатеричных чисел, разделенных двоеточиями.

Этот сертификат будет тем, который вы включите в ограничение ключа API в консоли GCP (Google Cloud Platform).

Обратите внимание, что это можно найти в документации , упомянутой выше.

...