Mensaje de LogCat: no se encontraron los recursos de los servicios de Google Play. Verifique la configuración de su proyecto para asegurarse de que los recursos estén incluidos

317

Tengo una aplicación que usa la API de Android v2 de Google Maps. Agregué el google-play-services_libproyecto de biblioteca a mi espacio de trabajo y agregué una referencia desde mi proyecto de aplicación, siguiendo las instrucciones en estas páginas:

Todo parece funcionar bien: la aplicación muestra mapas y superposiciones con los marcadores predeterminados. Así que estoy bastante seguro de que tengo los servicios de Google Play y la API de Google Maps configurados correctamente.

Sin embargo, veo este mensaje en la ventana ADT LogCat cada vez que se inicializa la vista del mapa (en un Nexus 7 de segunda generación):

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

El nivel de mensaje es Error y la etiqueta es GooglePlayServicesUtil.

Esto parece benigno, ya que mi aplicación funciona bien. Pero, ¿qué puedo hacer o verificar para tratar de abordar cualquier problema?


Más información: Cada vez que aparece el mensaje "No se encontraron recursos de los servicios de Google Play" en LogCat, está precedido por estos mensajes, que son Advertencias y están etiquetados 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, no puedo encontrar la constante 0x7f0b038a en ningún lugar cuando busco los proyectos, incluidos los archivos gen / R.java.

Verifiqué el contenido del .apk generado e incluye todos los recursos que están en el google-play-services_lib/resdirectorio.


Otra actualización: después de agregar ActionBarSherlock y actualizar targetSdkVersion en mi manifiesto del 8 al 17, ahora veo otro error en la salida de LogCat:

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

Puede encontrar más detalles sobre ese problema aquí: Google Maps funciona bien en Android, pero sigo recibiendo un error "No se pudo encontrar la clase 'maps.i.k', referenciada desde el método maps.z.ag.a"

Y una vez más, la aplicación parece funcionar bien. ¿Quizás es seguro ignorar estos "errores"?

Kristopher Johnson
fuente
1
¡Ocurriendo lo mismo aquí, usando Gradle + Android Studio! 08-06 19: 47: 00.376 2141-2141 / com.menor.android.assignment.tempos21 E / GooglePlayServicesUtil: No se encontraron los recursos de los servicios de Google Play. Verifique la configuración de su proyecto para asegurarse de que los recursos estén incluidos.
Cesards
1
Intente limpiar todos los proyectos en su espacio de trabajo (debajo Project > Clean). Me di cuenta de que esto a veces soluciona problemas de R.java/resource.
Connor Brinton
3
Lo mismo está sucediendo aquí, limpio no ayudó. Creo que comenzó después de actualizar cosas en el administrador de
SDK de
8
Lo mismo aquí (también Eclipse), lo más probable es que se deba a la última actualización del SDK (22.0.5). Hoy, Google Play Services se actualizó a rev10, pero aún tengo el mensaje de error. Lo que es aún peor; mi Fragmento de Google Maps ha dejado de funcionar No quiere mostrar ningún mapa, solo un lienzo azul interminable.
Magnus Johansson el
55
Goggle dice "Puedes ignorar este mensaje de manera segura. Tu aplicación aún buscará y publicará anuncios publicitarios".
sagus_helgy

Respuestas:

50

Este es un error en la biblioteca de servicios de Google Play, y se archiva aquí en el número 755 .

Desafortunadamente, todavía no hay ninguna solución.

Hisham Muneer
fuente
21
Esta publicación data de 2014, recibo este error ahora, ¿es relevante esta publicación?
Talha
@sachithkn lo suficientemente extraño, tuve problemas en mi código, en la inspección y depuración lo descubrí. En lugar de mostrar un error en mi código, se bloqueó a nivel API, probablemente hice un código incorrecto agregando try-catch en algún lugar que ejecutó el código con fuerza, y finalmente se bloqueó en la llamada API (o en la API). Así que arreglé mi código y el error desapareció. Al menos esto es lo que creo que sucedió.
Talha
88

Las preguntas frecuentes del SDK de Google Mobile Ads indican que:

Sigo recibiendo el error "No se encontraron los recursos de los servicios de Google Play. Verifique la configuración de su proyecto para asegurarse de que los recursos estén incluidos '.

Puede ignorar este mensaje con seguridad. Su aplicación aún buscará y publicará anuncios publicitarios.

Entonces, si incluyó google-play-services_lib correctamente y recibe anuncios, no tiene nada de qué preocuparse (supongo ...)

grebulon
fuente
1
tal vez puedas ignorarlo, pero sigo entrando en un código que no existe, cada vez que elijo depurar la aplicación.
Desarrollador de Android
¿Qué pasa si no estoy usando anuncios? ¿Seguirían los servicios de Google Play intentando hacer lo que sea que genere el mensaje?
Kristopher Johnson
También veo esto en una aplicación diferente donde solo me registro para las notificaciones push de GCM, y todo parece estar funcionando bien.
grebulon
cuando funciono aplicación en los anuncios inyectados emulador de Android está en pantalla, pero si corro misma aplicación en el dispositivo androide física continuación se muestra la pantalla en blanco
Bharti Ladumor
Esta es mi experiencia y opinión. También
Noor Hossain
36

Me encontré con este problema esta mañana y parecía muy extraño ya que mi aplicación funcionaba bien hasta hoy. Recibía exactamente el mismo mensaje "No se encontraron los recursos de los servicios de Google Play ...".

Intenté abrir la aplicación regular de Google Maps para ver si podía obtener mi ubicación, pero no la encontré. Incluso después de esperar 5 minutos, que es tiempo más que suficiente para obtener una ubicación incluso del proveedor de servicios a través de la torre celular. Así que revisé los servicios de ubicación.

De todos modos, el problema resultó ser en mi S3 en Servicios de ubicación -> Servicios de ubicación de Google . No fue revisado. Se verificaron las otras dos opciones de ubicación ( Servicios de ubicación VZW y Servicios de GPS independientes ), pero la última, los Servicios de ubicación de Google no. Después de activar eso, el Google Maps normal podría encontrar mi ubicación y mi aplicación podría encontrar mi ubicación y el problema desapareció.

El mensaje de error aparece debido a:

mMap.setMyLocationEnabled(true);

cuando Google Location Services no está habilitado.

Después de hacer algunas pruebas más, parece que si la ubicación actual es nula (no se puede determinar a partir de todas las fuentes), obtendrá este error cuando intente activar setMyLocationEnabled.

shroge
fuente
Esta es la raíz del problema por lo que puedo decir también. Si elimina la llamada a setMyLocationEnabled (), ya no recibirá el error. Aunque aparece como un error, parece ser inofensivo ya que la aplicación continúa funcionando bien y la funcionalidad para mostrar mi ubicación en la aplicación también funciona bien. No estoy seguro de por qué aparece como un error.
Guardius
19
setMyLocationEnabled no tiene nada que ver con esto, ya que en todos mis dispositivos los Servicios de ubicación están habilitados en la configuración. Sospecho que el último google-play-services.jar está roto.
IgorGanapolsky
Mi problema tenía una solución casi similar que necesitaba para activar mi ubicación en Android 4.4, en realidad ves la aplicación que solicita la ubicación, y mi aplicación era una de esas. Supongo que tiene que ver con setOnMyLocationChangeListener en lugar de setMyLocationEnabled que da ese error. Debe haber algún tipo de verificación antes de poder solicitar la ubicación y verificar si los servicios de ubicación están activados. Debería ayudar
Jayshil Dave
32

He descompilado la biblioteca de revisión de servicios de Google Play 14. Creo que hay un error en com.google.android.gms.common.GooglePlayServicesUtil.class. La cadena antes mencionada aparece solo en un lugar:

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.");
    }
....

No hay R.classen el com.google.android.gms.commonpaquete.

Hay un import com.google.android.gms.R.string;, pero no se usa string.something, así que supongo que este es el error, debería haberlo import com.google.android.gms.R;.

Sin embargo, el isGooglePlayServicesAvailablemétodo funciona según lo previsto (excepto registrar esa advertencia), pero hay otros métodos en esa clase, que se utilizan sin importar R.class, por lo que puede haber algunos otros errores. Aunque los banners en mi aplicación funcionan bien ...

kreker
fuente
20

Tienes que agregar el google-play-services-libcomo un proyecto de biblioteca. Ellos actualizaron el SDK . Hay varios tutoriales alrededor. Para Eclipse es fácil:

Right click project -> properties -> Android

Ingrese la descripción de la imagen aquí

Para recorridos más detallados:

Importando el proyecto-biblioteca

Cómo hacer que GoogleMaps se ejecute en el emulador

bofredo
fuente
15
Como se indicó en la pregunta, agregué el proyecto de biblioteca google-play-services_lib, y todo funciona bien.
Kristopher Johnson
ok, no dijiste explícitamente que usas google-play-services-lib como PROYECTO, así que traté de señalarlo. Voy a repensar el problema.
bofredo
44
FWIW, he mirado el .apk generado, y contiene todos los recursos del proyecto google-play-services_lib, así que estoy bastante seguro de que el proyecto de la biblioteca se ha agregado y referenciado correctamente.
Kristopher Johnson
2
¿Sabes cómo hacer la operación equivalente en Android Studio? No deseo importarlo con maven
Raphael Royer-Rivard
12

También tuve este problema. La forma en que lo resolví fue la siguiente:

  1. Elimine el proyecto de biblioteca google-play-services_lib.
  2. Elimine la referencia (ahora no válida) google-play-services_lib en [su proyecto]> Propiedades> Android.
  3. Importó el proyecto de biblioteca google-play-services_lib de android-sdk-x/extras/google_play_services/libproject . Cuando importa un proyecto, obtiene la opción "Copiar proyecto en el espacio de trabajo". Desactívelo.
  4. Agregue la referencia (ahora válida) google-play-services_lib a su proyecto con [su proyecto]> Propiedades> Android.

Esto hizo el truco para mí. ¡Espero que te ayude a ti también!

mDroidd
fuente
77
Solo para su información, no debe importar los servicios de Google Play directamente desde el SDK. Debería mantener marcada la casilla "Copiar proyecto en el espacio de trabajo" si lo hace, o copiar el directorio en su espacio de trabajo, o mejor aún en su sistema de control de versiones. Hoy me encontré con este problema en el que algunos desarrolladores usaban una versión anterior y otros usaban la última y el código del proyecto fallaba con la última porque no tenía los metadatos de Google Maps recién requeridos en el Manifiesto.
Matt K
¿Sabes cómo hacer la operación equivalente en Android Studio? No deseo importarlo con maven
Raphael Royer-Rivard
4

Me encuentro con este problema cuando estoy usando Admob SOLO porque olvidé escribir mi ID de bloque de anuncios @string.

Simon Pan
fuente
¿Dónde dijiste que olvidaste hacer eso? Estoy creando mi vista de programación mediante programación, y también paso esa identificación mediante programación.
Fran Marzoa
3

Tuve el mismo problema. En la Consola de API de Google, debe verificar que solo se genere una clave para esa aplicación. Tuve un período en el que migré mi código de una PC a la siguiente y así sucesivamente (se volvió desordenado), y tenía varias claves para mi único proyecto. Las claves más antiguas se muestran como inactivas en la página de la consola API, pero por alguna razón causaron un conflicto. Después de eliminarlos por completo, lo ejecuté nuevamente y funcionó.

joeblow23
fuente
3

En cuanto a mí, he resuelto este problema de la siguiente manera: como dice developer.android.com, después de agregar google-play-services_lib debe agregar <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> su manifiesto, pero en el nuevo SDK siempre obtendrá un error:

Error: no se encontró ningún recurso que coincida con el nombre (en 'valor' con el valor '@ integer / google_play_services_version').

Para resolver ese error, muchas personas aconsejan usar un valor bruto, 4030500 , en lugar de @integer/google_play_services_version, pero es correcto SOLO para la revisión 13 de servicios de Google.

Si usa una versión anterior o una versión para Froyo (como yo), debe ponerle otro valor. Para saber qué valor debe poner, simplemente abra un manifiesto de servicios de Google Play y copie y pegue un valor de version_code. Para los servicios de Froyo, es 3265130 . Después de agregar esto, dejé de recibir este error y finalmente comencé a recibir coordenadas en mi aplicación.

Whizzzkey
fuente
4030500 me dio un error. Sin embargo, el valor correcto para usar se proporcionó en el logcat.
Maverick
@Maverick, ¿cuál es su versión de google_play_services? Compruébelo en android sdk manager
whizzzkey
3

Para mí, la única solución de trabajo era agregar también la biblioteca android-support-v7-appcompat . Parece que esta biblioteca también es necesaria para deshacerse de ese mensaje. ¡Desde entonces mis aplicaciones han estado funcionando bien!

¡Espero que ayude!

Mella
fuente
Esto no funcionó para mí. ¿Para qué SDK compiló su proyecto?
JPM
2

Tuve el mismo problema aquí. Como dijo Magnus anteriormente, para mí estaba sucediendo debido a una actualización del SDK a la versión 22.0.5.

Después de realizar una actualización completa en mi SDK de Android (incluidos los servicios de Google Play) y los complementos de Android en Eclipse , pude usar lib de servicios de reproducción en mi aplicación.

Volceri
fuente
2

Para usuarios de IntelliJ IDEA

Después de luchar durante un par de días, la única forma de hacerlo funcionar en IntelliJ IDEA 13 era importar la biblioteca. Aquí están todos los pasos:

  1. Actualice el SDK de Android para que se instale el último servicio de Play.
  2. Ir al android-sdk-root/extras/google/google_play_services/libprojectdirectorio
  3. Cópielo google-play-services_liby péguelo junto a su proyecto IntelliJ IDEA (algunos recomiendan usar este directorio directamente, ¡pero le aconsejo que mantenga este código limpio!).
  4. Abra las propiedades del proyecto IntelliJ IDEA y agregue un nuevo módulo google-play-services_lib.
  5. Compruebe si está marcado como una biblioteca.
  6. Agregue el google-play-services_libproyecto de biblioteca como una dependencia al proyecto principal.
  7. Agregue la google-play-servicesbiblioteca como una biblioteca de dependencia también.

En el enlace que proporcioné a continuación, puede ver una imagen de cómo se ve en mi IntelliJ IDEA 13. No funcionaría sin agregar solo uno de estos dos.

PD. Hice una pregunta, ¿por qué IntelliJ IDEA 13 requiere que el proyecto lib y la propia lib (google-play-service) se agreguen como una dependencia? , por qué es imprescindible en IntelliJ IDEA 13, y por qué no podemos importar ni la biblioteca ni el proyecto únicamente.

sandalone
fuente
¿Podría enumerar las manipulaciones exactas que está haciendo para importar el proyecto google-play-services_lib como una dependencia del módulo (uso Android Studio 0.3.6)
Raphael Royer-Rivard
@ RaphaelRoyer-Rivard ¡Listo! Tenga en cuenta que estos pasos son para IDEA 13, no para Android Studio, por lo que algunos pasos pueden diferir, debería ser el mismo.
sandalone
En realidad, son las operaciones 4 y 5 las que me causan problemas. Abro la Estructura del proyecto con F4, luego voy a Módulos, hago clic en + y hay una ventana emergente llamada Nuevo módulo. ¿Hago referencia a la carpeta google-play-services_lib desde aquí (en el campo raíz de Contenido)?
Raphael Royer-Rivard
@ RaphaelRoyer-Rivard Solo directo a la carpeta, no a la biblioteca JAR. Y agregue todo el proyecto como un módulo. ¿Es esto lo que preguntaste?
sandalone
Bueno, no es tan simple como seleccionar una carpeta en mi caso. Debo elegir el tipo Módulo de esta lista ( Java, Maven, Gradle, JavaFX Application, Command Line App, Groovy, Griffon, Gradle: Android Module, Gradle: Android Project, Gradle: Java Library). Y luego seleccionando una carpeta en el campo Content root. ¿Es Javael tipo de módulo adecuado para elegir?
Raphael Royer-Rivard
1

También tuve el mismo problema. Al comenzar, funcionaba bien, pero en algún momento más tarde desinstalé mi aplicación por completo de mi dispositivo (la estaba ejecutando en mi dispositivo móvil) y la ejecuté nuevamente, y me muestra el mismo error.

Tenía toda la biblioteca y los recursos incluidos, ya que funcionaba, pero aún recibía este error, así que eliminé todas las referencias y la biblioteca de mi compilación del proyecto, actualicé el servicio de Google Play para la revisión 10, desinstalé la aplicación completamente del dispositivo y luego agregué nuevamente todo recursos y libs y lo ejecuté y comenzó a funcionar nuevamente.

Una cosa a tener en cuenta aquí es que, mientras se ejecuta, todavía veo este mensaje de error en mi LogCat , pero en mi dispositivo ahora funciona bien.

Pratap Singh
fuente
1

También tuve el mismo problema. También intenté buscar soluciones, pero después de no encontrar ninguna de las soluciones funcionando, intenté reiniciar mi dispositivo móvil (dispositivo Android) y resolvió el problema.

¡Por favor inténtalo! Reinicie su dispositivo móvil y Eclipse para estar seguro y verifique si funciona.

Umang9
fuente
0

Para mí, eliminar el siguiente código lo arregló!

mLocationClient.setMockMode(true);
Seïfane Idouchach
fuente
0

LE: Acabo de recordar que se trataba de usar Google Maps, por lo que mi respuesta realmente no responde a la pregunta inicial, pero espero que algunas personas ahorren horas / días golpeándose la cabeza en sus escritorios si tienen el mismo problema con Play Game Services .

Yo también tuve este error increíblemente críptico. Para mí no tenía nada que ver con los servicios de ubicación, pero al no leer correctamente la documentación , más precisamente el paso 3, donde dice agregar lo siguiente a su AndroidManifest.xml:

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

Obviamente, también deberías tener lo siguiente en AndroidManifest.xml

<meta-data android:name="com.google.android.gms.version"
   android:value="@integer/google_play_services_version"/>

Estaba usando el BaseGameActivityque sugieren usar cuando quieres implementar servicios de juego, así que me sorprendió un poco que no funcionara de inmediato. Creé un módulo dedicado para una copia del google-play-services_lib, tenía la última versión ( 4323000al momento de escribir) y configuré esto como una dependencia del módulo a mi módulo principal (usando Android Studio aquí). Pero esa pequeña línea de arriba arregló todo.

asíncrono
fuente
0

Yo tuve el mismo problema. Como dijo Kristopher Johnson, hice referencia a google-play-services_lib, pero no funcionó. Agregué google_play_services_lib.jar (mira tu carpeta SDK / google) en las propiedades del proyecto / ruta de compilación de Java / bibliotecas / dependencias de Android y el error desapareció.

aprados
fuente
0

Tuve exactamente el mismo problema cuando trabajé con varios desarrolladores. Si ejecuto el proyecto desde mi ADT , funciona bien, pero desde el suyo no lo es ...

La respuesta fue poner su clave SHA-1 con el nombre del paquete en la consola API de Google , así como la mía. Somos tres desarrolladores, por lo que necesitábamos poner tres claves SHA-1.

Espero que te sirva de inspiración ...

Noam
fuente
0

En mi caso, significó que hay algún tipo de error en mi implementación y dice que no puede encontrar el recurso para que el mensaje de error se muestre correctamente en LogCat . Cuando solucioné ese error en mi implementación, el problema de LogCat también desapareció. Entonces, en realidad, a menos que te falte algún recurso realmente necesario, no debes concentrarte para arreglar los recursos que faltan, sino más bien arreglar tu implementación.

El error, por cierto, fue que estaba ejecutando anuncios en modo de depuración sin ir al modo de prueba de anuncios.

Lukas Hanacek
fuente
0

Creo que este es un error en la biblioteca actual de Google Play Services, revisión 15, ya que la causa subyacente parece ser causada por no leer un archivo de recursos:

W / ResourceType (25122): Error al solicitar el recurso 0x7f0c000d porque es complejo
E / GooglePlayServicesUtil (25122): No se encontraron los recursos de los servicios de Google Play. Verifique la configuración de su proyecto para asegurarse de que los recursos estén incluidos.

Parece que la biblioteca de Google Play Services intenta leer un archivo de recursos y tiene un genérico genérico que muestra este mensaje de error cuando el recurso no se carga. Esto corresponde con lo que kreker logró descompilar de la biblioteca y explicaría los mensajes de registro.

Paul Lammertsma
fuente
0

Sabes, no creo que sea un error de SDK. "No se encontraron los recursos de los servicios de Google Play. Verifique la configuración de su proyecto para asegurarse de que los recursos estén incluidos" es exactamente correcto. El archivo jar puesto en su / libs no contiene ningún recurso como * xml, * png, etc. Los registros de error significan esto. Y si alguna vez agregó bibliotecas de soporte como v4 , v7-appcompat , v7-cardview , v7-recyclerview , v7-pallete o v7-gridlayout , a veces se registran registros que implican que los recursos son cortos. Todo esto se debe a que los recursos en los proyectos no se importan. Por lo tanto, importe proyectos de soporte como biblioteca lo antes posible. Por supuesto, primero descarga estos proyectos de soporte SDK Manageren el artículo de extras


fuente
0

Tuve el mismo problema que he creado mi propia API para verificar si el servicio de Google Play está instalado o no, funciona bien para mí. Simplemente pase la información del paquete del servicio de Google Play, le dará el valor

a continuación está el código:

public static boolean isGooglePlayServicesInstalled () { try { ApplicationInfo info = NativeActivity . ACTUAL . 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; }

Syed
fuente