Отпустить файл 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
Шаги:
-
Получить путь к хранилищу ключей при создании подписанного APK
Построить → Создать подписанный APK..
Сохраните путь к хранилищу ключей
![enter image description here]()
Не забудьте сделать Build Type --- release
![enter image description here]()
- Извлеките
SHA1
из хранилища ключей.
Откройте команду использования терминала ниже:
keytool -list -v -keystore "/Users/NT/Desktop/generalkey.jks"
Вам будет предложено ввести пароль для вашего хранилища ключей.
Изменить путь к вашему хранилищу ключей keytool -list -v -keystore "keystore path"
Из отпечатков пальцев сертификата вы увидите SHA1
- Сгенерируйте ключ 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]()
Ответ 7
Если все вышеперечисленные случаи не работают, то применяемый ниже метод работает для меня. Для этого включите подпись в Google Play
Ответ 8
У меня также была та же проблема карты, когда я делаю apk, делаю apk в той же системе, в которой вы сделали ключ карты Google, тогда карта будет работать и отлично отображаться.