Отпустить файл APK, не отображающий карты Google

Я применил точные шаги, как упомянуто в документе разработчика Google, чтобы создать пример проекта карты Google, и на эмуляторе все прошло нормально, но когда я сгенерировал файл apk проекта и запустил его на реальном устройстве, Samsung Galaxy S4 карта Google не показывает вверх он показывает только пустой фон с только цветным логотипом Google, появляющимся в левом нижнем углу экрана !!

Я создал новый проект для карты Google. Я создал новый файл .jks для проекта, создал хранилище, пароль и псевдоним, затем извлек SHA1 из Java-бина cmd. Я пошел на dev.google.com/console, создал новый проект, затем включил карты Google. Затем Android API создал ключ API из Credentials и вставил этот ключ API в google_maps_api.xml. В моем проекте обновлен выпуск signatureConfigs с путем к файлу .jks, псевдонимом и двумя паролями. затем сгенерировал подписанный APK из Android Studio, затем перенес app-release.apk на реальное устройство, затем установил ту же проблему, но карта Google НЕ показывается.

Ответ 1

Причина этой проблемы

Это произошло потому, что существуют разные SHA1 в типах debug и release.

Исправить эту проблему

Добавьте SHA1 хранилища ключей, использованного для сборки release APK в консоль Google

Шаги:

  1. Получить путь к хранилищу ключей при создании подписанного APK

    Построить → Создать подписанный APK..

Сохраните путь к хранилищу ключей

enter image description here

Не забудьте сделать Build Type --- release

enter image description here

  1. Извлеките SHA1 из хранилища ключей.

Откройте команду использования терминала ниже:

 keytool -list -v -keystore "/Users/NT/Desktop/generalkey.jks"

Вам будет предложено ввести пароль для вашего хранилища ключей.

Изменить путь к вашему хранилищу ключей keytool -list -v -keystore "keystore path"

Из отпечатков пальцев сертификата вы увидите SHA1

  1. Сгенерируйте ключ Android, используя этот SHA1 и имя вашего пакета

enter image description here

Создайте APK с помощью хранилища ключей и наслаждайтесь картой

Ответ 2

Это может быть глупо, но мой ключ API включен в

app\src\debug\res\values\google_maps_api.xml(debug)

Вы также должны включить in-

app\src\release\res\values\google_maps_api.xml(release)

Ответ 3

если кто-то еще сталкивается с этой проблемой:

это случилось со мной, потому что нам нужны два API-ключа Google Maps, один для отладки, а другой для выпуска, вы можете проверить:

C:\Users\username\AndroidStudioProjects\yourapp\app\src\debug\res\values, и вы найдете XML с вашим ключом API, например:

    <string name="google_maps_key" templateMergeStrategy="preserve" 
          translatable="false">AIza...etc</string>

но если вы проверите здесь:

C:\Users\username\AndroidStudioProjects\yourapp\app\src\release\res\values вы найдете XML, но без ключа API внутри, например:

     <string name="google_maps_key" templateMergeStrategy="preserve" 
         translatable="false">YOUR_KEY_HERE</string>

это было отмечено как комментарий внутри самого файла xml:

Перед выпуском приложения вам нужен ключ API Карт Google.

To do this, you can either add your release key credentials to your existing
key, or create a new key.

Note that this file specifies the API key for the release build target.
If you have previously set up a key for the debug target with the debug signing certificate,
you will also need to set up a key for your release certificate.

Follow the directions here:

https://developers.google.com/maps/documentation/android/signup

Once you have your key (it starts with "AIza"), replace the "google_maps_key"
string in this file.

Ответ 4

Проверьте следующее:

  • Этот файл ниже должен быть как в отладочной, так и в выпускной версии

    app\src\debug\res\values\google_maps_api.xml (debug)
    

    Вы также должны включить в

    app\src\release\res\values\google_maps_api.xml (release)
    
  • Добавьте SHA1 для выпуска apk в консоль Google Api.
    Вы можете получить ключ SHA1 в игровой консоли >> Подписание приложения >> Сертификат SHA1

Ответ 5

теперь google подписал apk перед публикацией в магазине, поэтому перейдите в приложение google goish app --- > app signning и добавьте подписанный ключ в консоль разработчика Google, вы добавите 3 ключа sha1: debug, release и новый ключ sha1 после pushlish

Ответ 6

Еще один дополнительный шаг: В консоли разработчика Google Play добавьте подпись приложения SHA1: enter image description here

Ответ 8

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