Я использую Карты Google в своем приложении для Android. Я создал ключ и добавил необходимые разрешения в файл манифеста. Но вскоре я запускаю приложение и получаю в отладчике такое сообщение:
GoogleService не удалось инициализировать, статус: 10, Отсутствует ожидаемый ресурс: 'R.string.google_app_id' для инициализации сервисов Google. Возможные причины: отсутствует плагин google-services.json или com.google.gms.google-services gradle.
Я не уверен, что случилось. Карта работает нормально, и я могу использовать ее без каких-либо проблем. В моем файле gradle есть эта запись:
скомпилировать com.google.android.gms: play-services: 8.4.0 '
На что он жалуется и как мне это облегчить?
Ответы:
Вам необходимо разместить файл конфигурации (
google-services.json
), сгенерированный developer.google.com , как указано на втором этапе официальных документов здесь.Процесс прост
Затем, выбрав желаемые службы (в данном случае службу карт), вы можете сгенерировать файл конфигурации.
Затем, как указано в шаге 3 официальных документов здесь
PS: Для людей, проголосовавших против этого ответа, пожалуйста, оставьте комментарий о том, почему вы его голосуете против.
источник
[От менеджера по продукту @ Google]
Вы можете решить эту проблему, загрузив и скопировав
google-services.json
файл для своего Android-приложения, выполнив следующие действия:Continue to Choose and configure services
.Continue to Generate Configuration files
.google-services.json
и скопируйте файл в каталог модуляapp/
илиmobile/
в своем проекте Android.Если вы ранее импортировали свой проект Google в Firebase, вы можете получить обновленный файл google-services.json из консоли Firebase в настройках проекта.
НЕ КОПИРУЙТЕ PROJECT_NUMBER, как это было предложено в одном из других ответов, поскольку google_app_id относится к вашему приложению в рамках проекта, а не к самому проекту.
источник
В моем случае причиной этой ошибки было то, что плагин Google Services для Gradle и библиотека Play Services были несовместимыми версиями. Инструкции для совместимых версий:
1) Добавьте зависимость к build.gradle на уровне проекта:
2) Добавьте плагин в build.gradle на уровне приложения:
3) Если вы используете Android Studio, это строка, которую нужно добавить в раздел зависимостей файла build.gradle вашего приложения:
Источник: https://developers.google.com/cloud-messaging/android/client
источник
com.google.android.gms:play-services-maps:8.4.0
Я столкнулся с той же проблемой и решил ее, следуя официальному решению .
Вот шаги:
получить файл конфигурации
google-services.json
от этой ссылки .Скопируйте
google-services.json
файл, который вы только что скачали, в каталог app / или mobile / вашего проекта Android Studio.Добавьте зависимость в build.gradle на уровне проекта:
Добавьте плагин в build.gradle на уровне приложения:
Добавьте эту зависимость в build.gradle на уровне приложения:
источник
Для тех, кто сталкивается с этой проблемой даже после правильной настройки игровых сервисов и помещения
google-services.json
файла вproject/app
папку, реальным решением являетсяBuild > Rebuild Project
Возможно, из-за того, что строки из json-файла не интегрируются в скомпилированные ресурсы до тех пор, пока не будет выполнено полное перестроение.
источник
Для Xamarin / Visual Studio Mac мне нужно было добавить это в конец моего Droid.csproj
https://github.com/xamarin/GooglePlayServicesComponents/issues/64
источник
Это тоже случилось со мной. В моем случае это связано с тем, что студия Android пыталась вставить код в мое основное действие. Удаление кода исправляет ошибку
Вставленный код касается индексации приложений:
https://developers.google.com/app-indexing/android/publish
источник
Тогда у меня была такая же проблема. Смог решить эту проблему, используя только необходимую библиотеку игровых сервисов, которая в моем случае GCM.
Вместо этого
com.google.android.gms:play-services:8.4.0
я используюcom.google.android.gms:play-services-gcm:8.4.0
. См. Здесь для получения дополнительной информации; это также решает проблему multidex.Затем я применил подходы @Radix и @ Alexander, чтобы удалить сообщение, которое GCM выводит в logcat относительно файла
google-services.json
.источник
Вы можете изменить
versionCode
иversionName
своего приложения в файле Gradle.источник
Быстрое решение я использовал , чтобы отключить подпись. Если вы не хотите создавать производственный код, вы можете установить свой вариант сборки на отладку, localOldDebug или localDebug.
Нажмите на варианты сборки в нижнем левом углу Android Studio.
как отключить сгенерированный подписанный apk-android-studio
источник
Просто есть другое решение, которое я случайно удалил
Добавьте это и работайте, это новое решение
источник