Android Studio - карта Google по-прежнему пуста на реальном устройстве Android в выпуске apk
googled it, прочитайте миллионы советов о том, как сгенерировать ключ API Google, как его использовать, но ничего не работает!
- включено google maps v2 API
- созданный проект с одним действием с картой google (мастер по умолчанию в студии)
- созданный ключ в google для проекта отладки, назначенный SHA1; пакет приложения приложения к ключу проекта в google
- API-ключ, вставленный в google_maps_api.xml(обновлен автоматически AndroidManifest.xml)
- Создайте и запустите на AVD, на котором работает приложение, отображается карта.
Тогда:
- API уже включен.
- в студии Android создано хранилище ключей для выпуска (keystore.rel.jks)
- сгенерированные отпечатки пальцев (keytool -list -v -keystore C:\Dropbox\AndroidKeyStore\keystore.rel.jks)
- в Google добавлен новый отпечаток пальца в новый проект выпуска (выпуск SHA1; пакет приложения) - сгенерированный ключ AIza...
- API-ключ, вставленный в google_maps_api.xml(AndroidManifest.xml обновлен автоматически)
- сгенерировать подписанное приложение (используя keystore.rel.jks) и установить на реальном устройстве... приложение работает, карта STILL BLANK, только кнопки масштабирования и ярлык Google находятся на
Заранее благодарим за любые советы.
Зденек
Ответы
Ответ 1
Убедитесь, что вы ввели ключ доступа к выпуску в файле google_maps_api.xml в папке выпуска.
Сначала перейдите в представление Project, используя раскрывающийся список в левом верхнем углу Project Explorer. Затем разверните app/src/
, и вы увидите подпапки debug
и release
. В этом разделе вы должны увидеть два отдельных файла google_maps_api.xml в разделе debug/res/values
и release/res/values
.
Убедитесь, что ключ API выпуска находится в файле google_maps_api.xml в папке release/res/values
, так как это тот, который будет использоваться для подписанной версии apk.
![enter image description here]()
Ответ 2
Я устал от повторных попыток, оказалось, что у PlayStore есть что-то, называемое сертификатом подписания приложения, и карта работает после того, как я скопирую этот файл sha1 и вставьте его в консоль Google для карта андроида.
Ответ 3
Когда вы пытаетесь создать ключ API карты, убедитесь, что URL содержит правильное имя пакета. Он не должен принимать какой-либо подобный пакет.
неправильный пакет: com.gpslocation.trackerpro.Activities
правильный пакет: com.gpslocation.trackerpro
![enter image description here]()
После редактирования не забудьте сохранить
Ответ 4
Убедитесь, что ключ карты, введенный в файл google_maps_api.xml, - это тот же самый ключ для Android, сгенерированный консолью Google.
Вы также можете попробовать новый ключ.
Ответ 5
Я столкнулся с той же проблемой, в моем случае отпечаток моего пакета, использованного в ключе API Google Map, не совпадал, поэтому я сделал следующее:
И выполнить заявку
Не используйте ниже fingerprint, или ключ, создайте ваш отдельный на основе пакета и приложения
Ответ 6
как правило, вы должны сделать следующие шаги:
1- Создание новых карт Активность в андроид студии
2- В google_maps_api.xml
откройте ссылку в строке 3
3- Подтвердите данные и получите ключ в Firebase
4- Скопируйте ключ в google_maps_api.xml
и отпустите
5- Получить релиз SHA1 на вкладке gradle
→ отчет о подписи
полезная ссылка для получения sha1
полезная ссылка для подписи приложения в режиме отладки для получения sha1
Ответ 7
Перейдите по адресу h ttps://play.google.com/apps/publish/, а затем к App signing
:
![enter image description here]()
Может быть, вы увидите это:
![enter image description here]()
Если это так, возможно, вы разработчик, а не владелец аккаунта. Вам нужно будет связаться с владельцем учетной записи и попросить его/ее завершить этот процесс. Следуйте этой статье о том, как это сделать:
https://learnfreecoding.com/how-to-sign-your-android-app-with-signed-key-private_key-pepk/
Владелец аккаунта попадет на этот экран:
![enter image description here]()
Попросите их выбрать Upload a key exported from Android Studio
. Им нужно будет загрузить файл private_key.pepk
. Вот как вы получаете этот файл из Android Studio:
- Зайдите в
Build > Generate Signed Bundle/APK...
![enter image description here]()
Выберите Android App Bundle
и нажмите " Next
:
![enter image description here]()
Укажите соответствующие учетные данные и установите флажок " Export encrypted key for enrolling published apps in Google Play App Signing
.
![enter image description here]()
Укажите папку назначения и убедитесь, что вы выбрали release
прежде чем нажать кнопку " Finish
:
![enter image description here]()
Это сгенерирует файл private_key.pepk
который вам нужно будет предоставить для Upload a key exported from Android Studio
.
После выполнения вышеизложенного, когда вы перейдете в раздел App signing
приложения вашего приложения, вы увидите что-то вроде этого:
![enter image description here]()
Тогда вы увидите, что Карты Google работают правильно на реальных физических устройствах Android Studio, а не только на эмуляторе Android Studio. Это было решением для меня.
Ответ 8
Застрял в этом вопросе на один день. Я попробовал все и в конце концов нашел следующий код в моем манифесте:
<supports-screens
android:anyDensity="false"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="false"
android:xlargeScreens="true" />
После удаления этих строк мои карты отображаются правильно.