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


317

У мене є програма, яка використовує API Карти Google Android v2. Я додав google-play-services_libпроект бібліотеки до своєї робочої області та додав посилання на нього з мого проектного проекту, дотримуючись інструкцій на цих сторінках:

Здається, все працює добре: Додаток відображає карти та накладки з маркерами за замовчуванням. Тож я майже впевнений, що в Google Play сервіси Google Play і API 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 відмінно працюють на Android, але я все одно отримую помилку "Не вдалося знайти клас" maps.i.k ", на який посилається метод map.z.ag.a"

І ще раз, здається, додаток працює просто чудово. Може бути, безпечно ігнорувати ці "помилки"?


1
Відбувається те саме, використовуючи Gradle + Android Studio! 08-06 19: 47: 00,376 2141-2141 / com.menor.android.assignment.tempos21 E / GooglePlayServicesUtil: ресурсів служб Google Play не знайдено. Перевірте конфігурацію свого проекту, щоб переконатися, що ресурси включені.
цезард

1
Спробуйте очистити всі проекти в робочій області (під Project > Clean). Я помітив, що це іноді виправляє проблеми R.java/resource.
Коннор Брінтон

3
Тут відбувається те саме, чисте не допомогло. Я думаю, це почалося після того, як я оновив матеріали в менеджері sdk для android
CeeRo

8
Тут те ж саме (Eclipse), найімовірніше, через останнє оновлення SDK (22.0.5). Сьогодні Служби Google Play було оновлено до rev10, але у мене все ще є повідомлення про помилку. Що ще гірше; мій фрагмент Карт Google перестав працювати. Він не хоче відображати жодної карти, лише нескінченне синє полотно.
Магнус Йоханссон

5
Goggle каже: "Ви можете сміливо ігнорувати це повідомлення. Ваш додаток все одно буде отримувати та розміщувати банерну рекламу".
sagus_helgy

Відповіді:


50

Це помилка в бібліотеці служб Google Play, і вона подається сюди під номером 755 .

На жаль, поки що немає рішення.


21
Це повідомлення починається з 2014 року, я отримую цю помилку зараз, чи актуальна ця публікація?
Талья

@sachithkn досить дивно, у мене виникли проблеми в коді, при огляді та налагодженні я виявив це. Замість того, щоб показувати помилку в моєму коді, він вийшов з ладу на рівні API, ймовірно, я зробив якийсь поганий код, додавши десь пробування, яке змусило запустити код, врешті-решт при збої в API виклику (або в API). Тому я виправив свій код і помилки вже немає. Принаймні, так я вважаю, що сталося.
Талха

88

Поширені запитання щодо SDK для мобільних оголошень Google стверджують, що:

Я продовжую отримувати помилку "Ресурсів служб Google Play не знайдено. Перевірте конфігурацію свого проекту, щоб переконатися, що ресурси включені. '

Ви можете сміливо ігнорувати це повідомлення. Ваш додаток все ще отримуватиме та показуватиме банерну рекламу.

Тож якщо ви правильно включили google-play-services_lib і отримуєте рекламу, вам нічого не турбуватися (я думаю ...)


1
можливо, ви можете проігнорувати, але я постійно вживаю код, який не існує, кожен раз, коли я вирішую налагоджувати додаток.
андроїд розробник

Що робити, якщо я не використовую рекламу? Чи все-таки Google Play Services намагаються робити все, що генерує повідомлення?
Крістофер Джонсон

Я бачу це і в іншому додатку, де я просто реєструюсь для натискань GCM, і все, здається, працює нормально.
grebulon

коли я запускаю програму в андроїд-емуляторі, відображається реклама, але якщо я запускаю цю програму на фізичному пристрої Android, тоді вона відображає порожній екран
Bharti Ladumor

Це мій досвід і думка Також
Noor

36

Я просто зіткнувся з цією проблемою сьогодні вранці і здавався дуже дивним, оскільки моя заявка працювала чудово до сьогодні. Я отримував саме таке повідомлення "Ресурсів служб Google Play не знайдено ...".

Я спробував відкрити звичайну програму Google Maps, щоб дізнатися, чи можу я знайти своє місцезнаходження, але він не знайшов його. Навіть зачекавши 5 хвилин, що більш ніж достатньо часу, щоб нормально дістати місце розташування навіть від постачальника послуг через стільникову вежу. Тож я перевірив Служби локації.

У будь-якому випадку проблема виявилася в моєму S3 в розділі Служби локації -> Служби локації Google . Це не перевіряли. Були перевірені два інші параметри розташування ( VZW Location Services та автономні GPS-сервіси ), але останній - Google Location Services - не. Після ввімкнення цього режиму звичайні Карти Google могли знайти моє місцеположення, і моя програма могла знайти моє місцезнаходження, і проблема усунулася.

Повідомлення про помилку спливає через:

mMap.setMyLocationEnabled(true);

коли служби локації Google не ввімкнено.

Зробивши ще тестування, схоже, що поточне місце розташування є нульовим (його неможливо визначити з усіх джерел), ви отримаєте цю помилку при спробі включити setMyLocationEnabled.


Це корінь питання в тому, що я можу також сказати. Якщо ви видалите виклик для setMyLocationEnabled (), ви більше не отримаєте помилку. Незважаючи на те, що його вказано як помилку, це здається нешкідливим, оскільки додаток продовжує чудово працювати, а функція відображення мого місця розташування в додатку продовжує працювати нормально. Не впевнений, чому його поява як помилка.
Guardius

19
setMyLocationEnabled не має нічого спільного з цим, оскільки на всіх моїх пристроях Служби локації включені в налаштуваннях. Я підозрюю, що остання програма google-play-services.jar зламана.
ІгорГанапольський

У моїй проблемі було майже подібне виправлення, яке мені потрібно було ввімкнути моє місцезнаходження в Android 4.4. Насправді ви бачите додаток, який вимагає місцезнаходження, і мій додаток був одним із таких. Я думаю, що це стосується setOnMyLocationChangeListener, а не setMyLocationEnabled, що дає цю помилку. Перш ніж подати запит на місцезнаходження, потрібно перевірити, чи увімкнено служби локації. Якщо допомогти
Джейсіл Дейв

32

Я декомпілював бібліотеку служб Google Play, версія 14. Я думаю, що в цьому помилка 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пакеті.

Існує import com.google.android.gms.R.string;, але без використання string.something, так що я думаю, це помилка - повинна бути import com.google.android.gms.R;.

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


20

Ви повинні додати google-play-services-libяк бібліотеку-проект. Вони оновили SDK . Навколо є кілька навчальних посібників. Для затемнення це легко:

Right click project -> properties -> Android

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

Для більш детальних інструкцій:

Імпорт бібліотеки-проекту

Як запустити GoogleMaps на емуляторі


15
Як зазначено в запитанні, я додав проект бібліотеки google-play-services_lib, і все працює нормально.
Крістофер Джонсон

Ок, ви не чітко сказали, що ви використовуєте google-play-services-lib як ПРОЕКТ, тому я спробував це вказати. я передумаю проблему.
bofredo

4
FWIW, я переглянув створений файл .apk, і він містить усі ресурси проекту google-play-services_lib, тому я впевнений, що проект бібліотеки доданий та посилається правильно.
Крістофер Джонсон

2
Чи знаєте ви, як зробити еквівалентну операцію в Android Studio? Я не бажаю імпортувати його з maven
Рафаель Ройер-Рівард

12

У мене теж було це питання. Я вирішив це так:

  1. Видаліть бібліотеку-проект google-play-services_lib.
  2. Видаліть (тепер недійсне) посилання google-play-services_lib у [вашому проекті]> Властивості> Android.
  3. Імпортовано бібліотеку-проект google-play-services_lib з android-sdk-x/extras/google_play_services/libproject. При імпорті проекту ви отримуєте опцію "Копіювати проект у робочу область". НЕВІДКЛЮЧИТИ ІТ.
  4. Додайте (тепер дійсне) посилання google-play-services_lib до свого проекту за допомогою [ваш проект]> Властивості> Android.

Це зробило для мене трюк. Я сподіваюся, що це теж допоможе вам!


7
Просто FYI, ви не повинні імпортувати служби Google Play безпосередньо з SDK. Ви повинні зберігати вікно "Копіювати проект у робочу область" ПЕРЕВІРЕНО, якщо це зробити, або скопіювати каталог у свою робочу область, а ще краще у вашу систему управління версіями. Сьогодні виступили з цим випуском, де деякі розробники використовували старішу версію, а деякі використовували найновішу, а проект проекту не вдавався з останньою, оскільки в Маніфесті не було нещодавно необхідних метаграфічних даних Google Maps.
Метт К

Чи знаєте ви, як зробити еквівалентну операцію в Android Studio? Я не хочу імпортувати його з maven
Рафаель Ройер-Рівард

4

З цією проблемою я зіткнувся, коли використовую Admob JUST, тому що забув написати свій ідентифікатор рекламного блоку @string.


Де ви сказали, що забули це зробити? Я створюю своє рекламне перегляд програмно і теж передаю такий id програмно.
Fran Marzoa

3

У мене було те саме питання. На консолі API API Google слід перевірити, чи створено лише один ключ для цього додатка. У мене була ділянка, де я мігрував свій код з одного ПК на інший і так далі (він заплутався), і було декілька ключів для мого одного проекту. Старіші ключі перераховані як неактивні на сторінці консолі API, але чомусь викликали конфлікт. Після повного видалення їх я запустив ще раз, і це спрацювало.


3

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

Помилка: не знайдено ресурсу, який би відповідав заданому імені (за значенням "зі значенням" @ integer / google_play_services_version ').

Для вирішення цієї помилки багато людей радять використовувати замість цього значення 4030500@integer/google_play_services_version , але це правильно ТОЛЬКО для версії служб Google 13.

Якщо ви використовуєте будь-яку більш стару версію або версію для Froyo (як я), вам слід ввести інше значення. Щоб знати, яке значення слід просто відкрити маніфест служб Google Play та скопіювати та вставити значення версії_коду. Для послуг Froyo це 3265130 . Додавши це, я перестав отримувати цю помилку, і я нарешті почав отримувати координати у своїй програмі.


4030500 видав мені помилку. Однак правильне значення для використання було вказано в logcat.
Маверик

@Maverick, яка ваша версія google_play_services? Перевірте це в android sdk manager
whizzzkey

3

Для мене єдиним робочим рішенням було також додати бібліотеку android-support-v7-appcompat . Здається, ця бібліотека також потрібна для того, щоб позбутися цього повідомлення. Відтоді мої програми працюють нормально!

Я сподіваюся, що це допомагає!


Для мене це не спрацювало, для чого сдк ви склали свій проект?
JPM

2

У мене було таке ж питання і тут. Як сказав Магнус вище, для мене це сталося через оновлення SDK до версії 22.0.5.

Після повного оновлення в моїй SDK для Android (включаючи Google Play Services) та плагінів Android у Eclipse , я зміг використовувати програму lib services в моїй програмі.


2

Для 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бібліотеку як бібліотеку залежностей.

На посиланні, яке я надав нижче, ви можете побачити зображення, як це виглядає в моєму IntelliJ IDEA 13. Це не спрацювало, не додавши лише один із цих двох.

PS. Я задав запитання: Чому IntelliJ IDEA 13 вимагає як залежної від проекту, так і самого lib (google-play-service)? , чому це обов’язково в IntelliJ IDEA 13, і чому ми не можемо імпортувати ні бібліотеку, ні проект.


Чи можете ви перерахувати точні маніпуляції, які ви робите, щоб імпортувати проект google-play-services_lib як модульну залежність (я використовую Android Studio 0.3.6)
Рафаель Ройер-Рівард

@ RaphaelRoyer-Rivard Готово! Зауважте, що ці кроки призначені для IDEA 13, а не для Android Studio, тому деякі кроки можуть відрізнятися, ви повинні бути однаковими.
сандалон

Власне, саме операції 4 і 5 викликають у мене проблеми. Я відкриваю Структуру проекту за допомогою F4, потім переходжу до Модулів, натискаю на + і з'являється спливаюче вікно під назвою Новий модуль. Чи посилаюсь я тут на папку google-play-services_lib (у корінному полі Зміст)?
Рафаель Ройер-Рівард

@ RaphaelRoyer-Rivard Просто перейдіть до папки, а не до бібліотеки JAR. І додайте весь проект як модуль. Це те, про що ви запитали?
сандалон

Ну, не так просто, як вибрати папку в моєму випадку. Я повинен вибрати тип модуля з цього списку ( Java, Maven, Gradle, JavaFX Application, Command Line App, Groovy, Griffon, Gradle: Android Module, Gradle: Android Project, Gradle: Java Library). А потім вибір папки в полі Content root. Чи Javaправильно вибрати тип модуля?
Рафаель Ройер-Рівард

1

У мене теж була така ж проблема. На початку це працювало нормально, але десь пізніше я повністю видалив свою програму зі свого пристрою (я запускав її на мобільному телефоні) та запустив її знову, і це показує мені ту саму помилку.

У мене були включені всі lib та ресурси, але він все-таки отримував цю помилку, тому я видалив усі посилання та lib з моєї збірки проектів, оновив службу google play до версії 10, видалив програму повністю з пристрою, а потім знову додав усі ресурси та лібс та керував ним, і він знову почав працювати.

Тут потрібно зауважити одне, що я ще бачу це повідомлення про помилку в моєму LogCat , але на моєму пристрої воно працює нормально.


1

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

Спробуйте, спробуйте! Перезавантажте свій мобільний пристрій та Eclipse, щоб бути в безпеці та перевірити, чи працює він.



0

ЛЕ: Я щойно пам’ятав, що це стосувалося використання Google Maps, тому моя відповідь насправді не відповідає на початкове запитання, але я сподіваюся, що деякі люди заощадять години / дні, стукаючи головою за свої столи, якщо у них є та сама проблема з Play Game Services .

У мене теж була ця неймовірно криптична помилка. Для мене це було не пов’язане із службами локації, але з неправильним читанням документації , точніше кроком 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). Але ця маленька лінія вище зафіксувала все.


0

У мене була така ж проблема. Як сказав Крістофер Джонсон, я посилався на google-play-services_lib, але це не спрацювало. Я додав google_play_services_lib.jar (подивіться на вашу папку SDK / google) під властивостями проекту / шлях збірки Java / бібліотеки / андроїд і помилки зникли.


0

У мене була точно така ж проблема при роботі з кількома розробниками. Якщо я запускаю проект з мого ADT, він працює добре, але від їхнього це не так.

Відповідь полягала в тому, щоб поставити їх ключ SHA-1 з назвою пакета в консоль API Google , а також мій. Ми три розробники, тому нам потрібно було ввести три клавіші SHA-1.

Я сподіваюся, що це дає вам натхнення ...


0

У моєму випадку це означало, що в моїй реалізації є якась помилка, і це говорить про те, що він не може знайти ресурс, щоб повідомлення про помилку було правильно показано в LogCat . Коли я виправив цю помилку в моєму здійсненні, проблема з LogCat також зникла. Тому фактично, якщо вам не вистачає якогось дійсно необхідного ресурсу, ви не повинні концентруватися, щоб виправити відсутні ресурси, а скоріше виправити свою реалізацію.

Помилка BTW полягала в тому, що я показував рекламу в режимі налагодження, не переходячи до тестового режиму.


0

Я вважаю, що це помилка в поточній бібліотеці Служб Google Play, версія 15, оскільки основна причина, як видається, викликана тим, що не читають файл ресурсу:

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

Схоже, що бібліотека Служб Google Play намагається прочитати файл ресурсу і має загальний опис, який відображає це повідомлення про помилку, коли ресурс не завантажується. Це відповідає тому, що kreker вдалося декомпілювати з бібліотеки і пояснив би повідомлення журналу.


0

Знаєте, я не думаю, що це помилка від sdk. "Ресурсів служб Google Play не знайдено. Перевірте конфігурацію свого проекту, щоб переконатися, що ресурси включені" - це абсолютно правильно. Файл jar, поміщений у / libs, не містить таких ресурсів, як * xml, * png тощо. Журнали помилок означають це. І якщо ваші коли - або додано бібліотеки підтримки як v4 , v7-AppCompat , v7-cardview , v7-recyclerview , v7-палет або v7-GridLayout , іноді журнали , які припускають , що ресурси в короткій відбуваються. Все це тому, що ресурси в проекти не імпортуються. Отже, імпортуйте проекти підтримки як бібліотека ASAP. Звичайно, ви спочатку завантажуєте ці проекти підтримки через менеджер SDKза предметом доповнення


0

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

нижче код:

загальнодоступна статична булева isGooglePlayServicesInstalled () { спробуйте { ApplicationInfo info = NativeActivity . ТОК . 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; }

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.