Android Google Maps пуст в подписанном APK - PullRequest
0 голосов
/ 16 января 2020

У меня есть ключ API Карт Google, и он находится в моих debug и release google_maps_api.xml файлах.

Приложение и карта в нем работают при отладке на симуляторе или устройстве. Однако, когда я генерирую подписанный APK и устанавливаю его на реальное устройство, карта становится пустой, как будто не указан ключ API карт Google.

Я попытался использовать ответы здесь но, похоже, не работает, по крайней мере, насколько мне позволяет мой опыт работы с Google Play, Android studio и выпусками сборки.

Я вошел в консоль Google Play и Let Google handle my certificates (или что-то в этом роде) как это). Теперь у меня есть список, содержащий MD5 certificate fingerprint SHA-1 certificate fingerprint SHA-256 certificate fingerprint и кнопку с названием [DOWNLOAD CERTIFICATE] (сертификат подписи приложения), но я не знаю, что с ними делать ... если я собираюсь что-нибудь с ними сделать на этом этапе .

Что мне делать дальше, чтобы карта отображалась в выпущенном подписанном APK-файле? Должен ли я добавить сертификат подписи приложения где-нибудь в моем проекте?

Мое намерение пока не выпускать. Я просто хочу протестировать сборку релиза на предмет различий в производительности и т. Д. c.

ОБНОВЛЕНИЕ 1 Я выполнил следующее и теперь у меня есть отпечаток сертификата, но где его разместить? если вообще?


enter image description here


1 Ответ

1 голос
/ 16 января 2020

Холли Молли, я в итоге выяснил, что ссылка в моем dubug google_maps_api.xml содержит отладочный SHA-1, который он передает Google Cloud Platform для внесения в белый список отладочной сборки для использования ключа API GoogleMaps, который он будет использовать .

Следовательно, это означает, что если вы создаете релиз APK, SHA-1 будет другим.

Как вы получаете Release SHA-1? Вы делаете Build->Generate Signed Bundle и следуйте инструкциям. Обратите внимание, где хранится файл .keystore. Я использовал рабочий стол.

Как только вы это сделаете, взгляните на скриншот в моем вопросе. В нем указывается keytool -list ...etc для просмотра SHA-1 для сгенерированного APK.

Как только у вас появится отображение SHA-1, go для Google Cloud Platform, а также для API и в Maps SDK для Android. Нажмите на значок редактирования для приложения, для которого вы будете использовать sh, чтобы использовать API. Теперь вы должны увидеть список под названием API restrictions, где должен быть список, уже содержащий SHA-1 для вашей отладочной сборки.

Скопируйте ваш SHA-1 из терминала (обнаруживается при запуске этого keytool -list ...etc) команда. Вставьте его как новый «элемент» в список ограничений приложения Android. Сохраните, если есть кнопка сохранения.

С этого момента вам следует набрать go *.


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

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