Карта Google не отображается в режиме выпуска - PullRequest
0 голосов
/ 20 сентября 2018

Я использую Google Maps API в режиме отладки и работаю нормально все время, пока он не перейдет в режим Release.Поправьте меня, если я ошибаюсь, нам нужен отдельный ключ API для Карт Google, если мы хотим выпустить наше приложение.

enter image description here

Я сделалследующее:

  • Создан новый ключ API
  • с включенной платежной учетной записью в моем проекте на GCP

Чтобы извлечь ключ SHA-1, яперешел к project/android/app, где я могу увидеть myapp.keystore и выполнить команду keytool -list -v -keystore mypp.keystore.

После создания API_KEY я перешел к project/android/app/src/main/AndroidManifest.xml и изменил ключ

  <meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="xxxxxx"/>

Чего еще не хватало?Заранее спасибо

Обратите внимание, что это проект React-Native, и нет отдельного каталога / пути Release и Debug для настройки APIKEY

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Сделай это

а) Откройте андроид студию.Создать -> Создать подписанный APK и нажать Далее

b) Скопируйте keystore путь и ключ alias.

enter image description here

c) Теперь откройте терминал и введите:

keytool -list -v -keystore "key store path" -alias "key alias"

d) Введите пароль ключа, и это распечатает ваш релиз SHA1.

e) Затем используйте этот SHA1 в проекте Google, Вставитьэто там и сохранить изменения, теперь снова запустите приложение, чтобы загрузить карту

Обновление: -

Для создания ключа debug Сделайте это

a) Нажмите на вкладку Gradle на правой панели параметров

b) Перейдите в корневую папку -> Задачи -> Android -> signatureReport

c) Дважды щелкните, это будет построено сПодпишите отчет и опубликуйте в нижней части свой SHA1.

0 голосов
/ 20 сентября 2018

Должны быть разделены клавиши для версий DEBUG и RELEASE.Если вы создадите Google Maps Activity в Android Studio, он создаст отдельные файлы ресурсов google_maps_api.xml со значением API_KEY.Как вы можете видеть, версии отладки и выпуска имеют разные SHA-1 certificate fingerprint, что означает, что их ключи не должны быть одинаковыми.

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

<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="@string/google_maps_key"/>

И ключевые файлы должны быть в следующих каталогах:

src/debug/res/values/google_maps_api.xml

src/release/res/values/google_maps_api.xml

...