Ресурсы не найдены. Android приложения Сообщение LogCat: Ресурсы служб Google Play не найдены

При запуске некоторых программ на Android пользователь может столкнуться с сообщением «Download failed because the resources could not be found». Обычно это происходит после установки определённых программ (или их обновления), перезагрузка устройства ничего не даёт, и как исправить проблему пользователь не представляет. В этой статье я опишу наиболее распространённые причины данной дисфункции, опишу её особенности, а также расскажу, как исправить download failed because the resources could not be found на вашем мобильном устройстве.

Причины возникновения проблемы

В переводе текст ошибки звучит как «Загрузка не удалась, так как требуемые ресурсы не были найдены». Обычно она возникает сразу после запуска приложения (обычно игрового), но бывает, что данная ошибка появляется после установки очередного официального обновления к программе.

Среди причин появления проблемы Download failed отмечают следующие:

  • Некорректная версия программы, скачанная с ненадёжного источника;
  • Отсутствие подключения к интернету при первом запуске программы;
  • Отсутствует или некорректный кэш к программе, или кэш размещён пользователем в неверной директории;
  • В настройках телефона заблокирована возможность установки программ с посторонних ресурсов;
  • В вашем смартфоне отключено (не работает должным образом) системное приложение «Сервисы Google Play» и Google Services Framework.
  • Также у вас может появляться ошибка при получении данных с сервера DF-DLA-15, её исправление по ссылке .

Как исправить ошибку

Соответственно, для исправления ошибки стоит предпринять следующее:

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



logcat filter by package (18)

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

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

Тем не менее, я вижу это сообщение в окне 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.ik », на который ссылается метод methods.z.ag.a"

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

Я декомпилировал библиотеку 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."); } ....

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

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

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

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

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

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

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

public static boolean isGooglePlayServicesInstalled() { try { 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; }

У меня была такая же проблема при работе с несколькими разработчиками. Если я ПРОПУСТИТЬ проект из моего ADT он работает хорошо, но от их нет.

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

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

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

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

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

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

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

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

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

Я надеюсь, что это помогает!

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

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

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

Для пользователей IntelliJ IDEA

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

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

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

Что касается меня, я решил эту проблему следующим образом - как говорит developer.android.com, после добавления google-play-services_lib вы должны добавить в вашем манифесте, но в новом SDK вы всегда получите сообщение об ошибке:

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

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

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

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

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

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

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

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

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



как читать логи андроид (18)

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

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

Тем не менее, я вижу это сообщение в окне 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.ik », на который ссылается метод methods.z.ag.a"

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

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

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

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

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

MMap.setMyLocationEnabled(true);

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

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

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

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

Я декомпилировал библиотеку 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."); } ....

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

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

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

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

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

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

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

MLocationClient.setMockMode(true);

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

Я надеюсь, что это помогает!

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

Для пользователей IntelliJ IDEA

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

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

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

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

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

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

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

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

public static boolean isGooglePlayServicesInstalled() { try { 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; }

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

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

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

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

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

Что касается меня, я решил эту проблему следующим образом - как говорит developer.android.com, после добавления google-play-services_lib вы должны добавить в вашем манифесте, но в новом SDK вы всегда получите сообщение об ошибке:

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

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

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

LE: Я просто вспомнил, что это касается использования Google Maps, поэтому мой ответ на самом деле не отвечает на первоначальный вопрос, но я надеюсь, что некоторые люди будут экономить часы / дни, разбивая головы на своих столах, если у них будет такая же проблема с Play Game Services ,

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

Очевидно, что в AndroidManifest.xml также должно быть следующее:

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