"Сервисы Google Play обновляются" в API Карт Google

У меня есть приложение для Android, которое использует Google Maps. Внезапно он перестал работать в режиме выпуска. В представлении "Карта" указывается, что сервисы Google Play обновляются на эмуляторе и на реальных устройствах. Поиск в сети все говорят о файле ключа API, но это не моя проблема!

Я перепробовал все возможные комбинации настроек релиза и обнаружил, что проблема возникает при установке debuggable = false в конфигурации сборки (с debuggable = true оно работает). Я не могу понять, почему Карты не работают, потому что, конечно, APK не может быть отлажен. Я также пробовал несколько версий сервисов Google Play, даже самые последние (10.2.0). Нет разницы.

Что я могу сделать? Пожалуйста, помогите, поскольку я не могу выпустить новую версию в Play Store, пока не исправлю эту ошибку.

введите описание изображения здесь

5 ответов

"Если я установил для debuggable значение false, оно перестает работать"

Это говорит о том, что доступ к вашему API ограничен режимом отладки. Учитывая, что нет отдельных API-ключей для отладки и выпуска, может показаться, что ваш ключ привязан к вашему отладочному сертификату.

Цитировать "Подробнее об ограничениях ключей API" в документации:

Вы можете по желанию добавить ограничение. Для приложений Android вы ограничиваете ключ отпечатком пальца SHA-1 вашего приложения.

Если у вас есть такое ограничение, различный отпечаток сертификата выпуска нарушит ваш доступ к API.

Взгляните на раздел "Получение информации о сертификате" в документации, указанной выше, чтобы получить правильный (выпуск) отпечаток сертификата

У меня была такая же проблема, и мне удалось ее исправить. Проблема возникает, когда для параметра minifyEnabled установлено значение true (при значении false проблема не возникает).

Короче говоря, я добавил строку:

-keep class com.google.** {*; }

в файл правил proguard (proguard-rules.pro), чтобы избежать запутывания зависимостей сервисов Google Play. По крайней мере, в моем случае результирующий APK не будет намного больше, если добавить это правило.

Я думаю, что проблема возникает, когда использование компонентов карты выполняется из другого модуля (например, в общей библиотеке), но я не проверял это.

К сожалению, последние сервисы Google Play имеют недостатки, и встроенные карты перестают работать практически на ВСЕХ телефонах Huawei/Meizu по всему миру. Нет способа исправить это, очистив кеш, потому что при следующей перезагрузке сервисы Google Play 12.6.73 снова автоматически обновляются и через несколько часов перестанут работать снова. Единственный способ - ждать исправления Google, которое должно быть выпущено довольно быстро.

Это официальный запрос отслеживания дефектов Google об этой проблеме:

https://issuetracker.google.com/issues/79405933

Была такая же проблема. Попробуйте обновить сервис Google Play с Gradle, а затем проверьте его. Может быть, это поможет вам. Еще одна вещь, пожалуйста, используйте последнюю версию Gradle и цель, установите также больше или 17.

Если бы та же самая "ошибка" могла быть решена с помощью этих шагов:

https://productforums.google.com/forum/

Я знаю, что вы чувствуете, когда постоянно получаете сообщение "Службы Google Play остановлены". Чтобы решить эту проблему, я бы порекомендовал очистить кеш для Служб Google Play (выберите "Настройки"> "Приложения" или "Диспетчер приложений"> "Службы Google Play"> "Очистить кеш"> "ОК") и Google Play Store. Как только вы очистили кеш, перезагрузите устройство, чтобы проверить, работает ли оно.

Другие вопросы по тегам