Сообщение LogCat: Ресурсы служб Google Play не найдены. Проверьте конфигурацию проекта, чтобы убедиться, что ресурсы включены.

У меня есть приложение, которое использует API Google Maps Android v2. Я добавил проект библиотеки google-play-services_lib в мое рабочее пространство и добавил ссылку на него из моего проекта приложения, следуя инструкциям на этих страницах:

Все работает нормально: приложение отображает карты и наложения с маркерами по умолчанию. Поэтому я уверен, что правильно настроены службы Google Play и API Карт Google.

Однако я вижу это сообщение в окне ADT LogCat всякий раз, когда инициализируется представление карты (на втором Nexus 7):

The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.

Уровень сообщения - это ошибка, а тег GooglePlayServicesUtil.

Это кажется доброкачественным, поскольку мое приложение работает нормально. Но что я могу сделать или проверить, чтобы попытаться решить любую проблему?


Дополнительная информация: каждый раз, когда в LogCat появляется сообщение "Ресурсы служб Google Play", ему предшествуют эти сообщения, которые являются предупреждениями и помечены ResourceType:

getEntry failing because entryIndex 906 is beyond type entryCount 3

Failure getting entry for 0x7f0b038a (t=10 e=906) in package 0 (error -2147483647)

FWIW, я не могу найти постоянную 0x7f0b038a в любом месте, когда я ищу проекты, включая файлы gen/R.java.

Я проверил содержимое сгенерированного .apk и включил все ресурсы, которые находятся в каталоге google-play-services_lib/res.


Другое обновление: добавив ActionBarSherlock и обновив targetSdkVersion в моем манифесте с 8 по 17, теперь я вижу еще одну ошибку в выходе LogCat:

Could not find class 'maps.af.k', referenced from method 'maps.ag.an.a'

Более подробную информацию об этой проблеме можно найти здесь: Google Maps отлично работает на Android, но я все равно получаю сообщение об ошибке "Не могу найти класс 'maps.i.k', ссылка от метода maps.z.ag.a"

И снова приложение работает нормально. Может быть, безопасно игнорировать эти "ошибки"?

Ответ 1

Это ошибка в библиотеке сервисов Google Play, и она хранится здесь в проблема 755.

К сожалению, решения пока нет.

Ответ 2

Часто задаваемые вопросы по SDK для мобильных объявлений Google:

Я продолжаю получать сообщение об ошибке. Ресурсы служб Google Play не были найденный. Проверьте конфигурацию проекта, чтобы убедиться, что ресурсы.

Вы можете смело игнорировать это сообщение. Ваше приложение по-прежнему будет получать и показывать баннерные объявления.

Итак, если вы правильно включили google-play-services_lib, и вы получаете рекламу, вам не о чем беспокоиться (я думаю...)

Ответ 3

Я сегодня утром столкнулся с этой проблемой и выглядел очень странным, так как моя заявка работала до сегодняшнего дня. Я получал то же самое сообщение "Ресурсы служб Google Play не были найдены...".

Я попытался открыть обычное приложение Google Maps, чтобы узнать, могу ли я получить свое местоположение, но он его не найдет. Даже после ожидания 5 минут, что более чем достаточно времени, чтобы нормально получить местоположение от поставщика услуг через ячеистую башню. Поэтому я проверил службы геопозиционирования.

В любом случае проблема оказалась в том, что на моем S3 в разделе "Службы местоположения" → "Службы геолокации Google". Он не был проверен. Были проверены другие два параметра местоположения (службы местоположения VZW и автономные службы GPS), но последний, службы геолокации Google, не был. После этого, обычные Google Maps могут найти мое местоположение, и мое приложение может найти мое местоположение, и проблема исчезла.

Появится сообщение об ошибке из-за:

mMap.setMyLocationEnabled(true);

когда службы геолокации Google не включены.

После выполнения некоторого тестирования это выглядит так: если текущее местоположение равно null (не может быть определено из всех источников), вы получите эту ошибку при попытке включить setMyLocationEnabled.

Ответ 4

Я декомпилировал библиотеку 14 версий сервисов Google Play. Я думаю, что есть ошибка в com.google.android.gms.common.GooglePlayServicesUtil.class. Вышеупомянутая строка появляется только в одном месте:

public static int isGooglePlayServicesAvailable(Context context) {
    PackageManager localPackageManager = context.getPackageManager();
    try {
        Resources localResources = context.getResources();
        localResources.getString(R.string.common_google_play_services_unknown_issue);
    } catch (Throwable localThrowable1) {
        Log.e("GooglePlayServicesUtil", "The Google Play services resources were not found. "
                + "Check your project configuration to ensure that the resources are included.");
    }
....

В пакете com.google.android.gms.common нет R.class.

Существует import com.google.android.gms.R.string;, но не используется string.something, поэтому я предполагаю, что это ошибка - там должно быть import com.google.android.gms.R;.

Тем не менее метод isGooglePlayServicesAvailable работает по назначению (за исключением регистрации этого предупреждения), но в этом классе есть другие методы, которые используют unimported R.class, поэтому могут быть и другие ошибки. Хотя баннеры в моем приложении прекрасно работают...

Ответ 5

Вы должны добавить google-play-services-lib в качестве библиотечного проекта. Они обновили SDK. Существует несколько учебных пособий. Для Eclipse это легко:

Right click project -> properties -> Android

Enter image description here

Более подробные пошаговые руководства:

Импорт библиотеки-проекта

Как заставить GoogleMaps работать на эмуляторе

Ответ 6

У меня тоже была эта проблема. Способ, которым я решил это, состоял в следующем:

  • Удалить библиотечный проект google-play-services_lib.
  • Удалите ссылку (теперь недействительно) google-play-services_lib в [вашем проекте] > Свойствa > Android.
  • Импортировал библиотечный проект google-play-services_lib из android-sdk-x/extras/google_play_services/libproject. При импорте проекта вы получаете опцию "Копировать проект в рабочее пространство". UNCHECK IT.
  • Добавьте ссылку (теперь действительная) google-play-services_lib в ваш проект с помощью [вашего проекта] > "Свойства" > "Android".

Это помогло мне. Надеюсь, это тоже поможет!

Ответ 7

Я столкнулся с этой проблемой, когда я использую Admob JUST, потому что забыл написать свой идентификатор рекламного блока в @string.

Ответ 8

У меня была такая же проблема. В Консоли API Google API вы должны убедиться, что для этого приложения создан только один ключ. У меня было место, где я переносил свой код с одного компьютера на другой и т.д. (Он запутался) и имел несколько ключей для моего одного проекта. Старшие ключи перечислены как неактивные на странице консоли API, но по какой-то причине вызвали конфликт. Удалив их полностью, я снова запустил его, и это сработало.

Ответ 9

Что касается меня, я решил эту проблему следующим образом - как говорит developer.android.com, после добавления google-play-services_lib вы должны добавить <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> в свой манифест, но на новом SDK вы всегда будете получить сообщение об ошибке:

Ошибка: ресурс не найден, который соответствует указанному имени (в 'value' со значением '@integer/      google_play_services_version ').

Чтобы решить эту ошибку, многие люди советуют использовать исходное значение 4030500 вместо @integer/google_play_services_version, но это ТОЛЬКО ТОЛЬКО для версии 13 служб Google.

Если вы используете более старую версию или версию для Froyo (как и я), вы должны добавить в нее другое значение. Чтобы узнать, какую ценность вы должны положить, просто откройте манифест службы Google Play и скопируйте-вставьте значение version_code. Для сервисов Froyo это 3265130. После этого я перестала получать эту ошибку, и я начал получать координаты в своем приложении.

Ответ 10

Для меня единственным рабочим решением было добавить библиотеку android-support-v7-appcompat, а также. Кажется, что эта библиотека также необходима, чтобы избавиться от этого сообщения. С тех пор мои приложения работают нормально!

Надеюсь, это поможет!

Ответ 11

У меня была такая же проблема. Как сказал Магнус выше, для меня это происходило из-за обновления SDK до версии 22.0.5.

После выполнения полного обновления в моем Android SDK (включая Google Play Services) и плагинах Android в Eclipse, я смог использовать play services lib в своем приложении.

Ответ 12

Для Пользователи IntelliJ IDEA

После борьбы за пару дней единственный способ заставить его работать в IntelliJ IDEA 13 - это импортировать библиотеку. Вот все шаги:

  • Обновите Android SDK, чтобы установить последнюю Play Службу.
  • Перейдите в каталог android-sdk-root/extras/google/google_play_services/libproject.
  • Скопируйте google-play-services_lib и вставьте его рядом с проектом IntelliJ IDEA (некоторые рекомендуют использовать этот каталог напрямую, но я рекомендую сохранить этот код в чистоте!).
  • Откройте свойства проекта IntelliJ IDEA и добавьте новый модуль google-play-services_lib.
  • Проверьте, отмечена ли она как библиотека.
  • Добавьте проект библиотеки google-play-services_lib в качестве зависимости от основного проекта.
  • Добавьте библиотеку google-play-services в библиотеку зависимостей.

В приведенной ниже ссылке вы можете увидеть изображение того, как оно выглядит в моей IntelliJ IDEA 13. Это не сработает без добавления только одного из этих двух.

PS. Я задал вопрос, Почему IntelliJ IDEA 13 требует как самого проекта lib, так и самого lib (google-play-service) для добавления в качестве зависимости?, почему это необходимо в IntelliJ IDEA 13, и почему мы не можем импортировать только библиотеку или проект.

Ответ 13

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

У меня были все lib и ресурсы, включенные, поскольку он работал, но все же я получал эту ошибку, поэтому я удалил все ссылки и lib из моей сборки проекта, обновил игру сервиса google до версии 10, полностью удалил приложение с устройства, а затем снова добавил все ресурсы и библиотеки и запустил его, и он снова начал работать.

Одна вещь, которую нужно отметить во время работы, я все еще вижу это сообщение об ошибке в LogCat, но на моем устройстве он работает сейчас хорошо.

Ответ 14

У меня тоже была такая же проблема. Я также пытался искать решения, но после того, как я не нашел ни одного из работающих решений, я попытался перезагрузить свой мобильный (Android-устройство) и решил проблему.

Пожалуйста, попробуйте! Перезагрузите мобильное устройство и Eclipse, чтобы быть в безопасности и проверить, работает ли он.

Ответ 15

У меня была такая же проблема при работе с несколькими разработчиками. Если я запустил проект из своего ADT, он работает хорошо, но от их нет.

Ответ заключался в том, чтобы поместить их SHA-1 ключ с именем пакета в Консоль Google API, а также мои. Мы - три разработчика, поэтому нам нужно было установить три ключа SHA-1.

Надеюсь, это даст вам вдохновение...

Ответ 16

Для меня удаление следующего кода исправлено!

mLocationClient.setMockMode(true);

Ответ 17

В моем случае это означало, что в моей реализации есть какая-то ошибка, и она говорит, что не может найти ресурс для сообщения об ошибке, который будет правильно показан в LogCat. Когда я исправил эту ошибку в моей реализации, проблема с LogCat также исчезла. Так что, если вы не пропустили какой-то действительно необходимый ресурс, вам не следует концентрироваться, чтобы исправить недостающие ресурсы, а скорее исправить вашу реализацию.

Ошибка, BTW, заключалась в том, что я запускал рекламу в режиме отладки без перехода в режим тестирования рекламы.

Ответ 18

Я считаю, что это ошибка в текущей библиотеке Служб Google Play, версия 15, поскольку основная причина, по-видимому, вызвана отсутствием чтения файла ресурсов:

W/ResourceType (25122): запрос ресурса 0x7f0c000d завершился неудачно, поскольку он является сложным
E/GooglePlayServicesUtil (25122): Ресурсы служб Google Play не найдены. Проверьте конфигурацию проекта, чтобы убедиться, что ресурсы включены.

Кажется, что библиотека Google Play Services пытается прочитать файл ресурсов и имеет общий общий признак, который отображает это сообщение об ошибке, когда ресурс не загружается. Это соответствует тому, что kreker удалось декомпилировать из библиотеки и объяснить сообщения журнала.

Ответ 19

LE: Я просто вспомнил, что это касается использования Карт Google, поэтому мой ответ на самом деле не отвечает на начальный вопрос, но я надеюсь, что некоторые люди будут экономить часы/дни, разбивая головы на своих столах, если у них будет такая же проблема с Слушать Игровые Услуги.

У меня тоже была эта невероятно загадочная ошибка. Для меня это не было чем-то связанным с услугами определения местоположения, но с неправильным чтением документации, точнее шаг 3, где говорится, чтобы добавить следуя вашему AndroidManifest.xml:

<meta-data android:name="com.google.android.gms.games.APP_ID"
    android:value="@string/app_id" />

Очевидно, что в AndroidManifest.xml

должно быть указано следующее:
<meta-data android:name="com.google.android.gms.version"
   android:value="@integer/google_play_services_version"/>

Я использовал BaseGameActivity, который они предлагают использовать, когда вы хотите реализовать игровые сервисы, поэтому я был немного удивлен, что он не сразу работает. Я создал специальный модуль для копии google-play-services_lib, у меня была последняя версия (4323000 с момента написания), и я установил это как зависимость модуля от моего основного модуля (с помощью Android Studio здесь), Но эта маленькая строка выше всего исправлена.

Ответ 20

У меня была та же проблема. Как сказал Кристофер Джонсон, я ссылался на google-play-services_lib, но это не сработало. Я добавил google_play_services_lib.jar(посмотрите на свою папку SDK/google) в свойствах проекта/пути сборки/библиотеки java/android и ошибки исчезли.

Ответ 21

Знаешь, я не думаю, что это ошибка из sdk. "Ресурсы служб Google Play не найдены. Проверьте свою конфигурацию проекта, чтобы обеспечить включение ресурсов". Файл jar, помещенный в ваш /libs, не содержит никаких ресурсов, таких как * xml, * png и т.д. Журналы ошибок означают это. И если ваши добавленные библиотеки поддержки, такие как v4, v7-appcompat, v7-cardview, v7-recyclerview, v7-pallete или v7-gridlayout, иногда регистрируются журналы, которые подразумевают, что ресурсы коротки. Все это связано с тем, что эти ресурсы в проектах не импортируются. Таким образом, проекты поддержки импорта в качестве библиотеки как можно скорее. Конечно, сначала вы загружаете эти проекты поддержки через Менеджер SDK в элементе дополнений

Ответ 22

У меня была такая же проблема, что я создал собственный API, чтобы проверить, установлен ли сервис google play или нет, он отлично работает для меня. Просто передайте информацию о пакете услуг google play, это даст вам значение

ниже приведен код:

public static boolean isGooglePlayServicesInstalled()   {       пытаться       {       ApplicationInfo info = NativeActivity.CURRENT.getPackageManager(). GetApplicationInfo ( "com.google.android.gms", 0);

LOG.d(LOG_IDENTIFIER, "info : "+ info); return true; } catch(PackageManager.NameNotFoundException e) { e.printStackTrace(); LOG.e(LOG_IDENTIFIER, "NameNotFoundException : "+ e.getMessage()); } return false; }