Actualización de la biblioteca de servicios de Google Play y símbolo ausente @ integer / google_play_services_version

Al actualizar mi proyecto a la versión más reciente de Google Play Services ( v4.0, lanzado en Halloween 2013 ), ahora se supone que debe agregar una nueva etiqueta al archivo AndroidManifest.xml .

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

Desafortunadamente, cuando intento hacer eso, entonces consigo este error de la compilación:

 android-apt-compiler: /blahblah/AndroidManifest.xml:409: error: Error: No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version'). 

Entonces puedo navegar al archivo en google-play-services_lib/res/values/version.xml y ver el entero en bruto para ese símbolo:

 <integer name="google_play_services_version">4030500</integer> 

Y luego insértelo de nuevo en mi AndroidManifest.xml :

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

Hacer esto funciona absolutamente bien y luego puedo compilar y ejecutar el proyecto y la aplicación muy bien. Pero definitivamente es una solución indeseable con problemas de actualización obvia.

¿Algunas ideas?

Así que para todos los que usan eclipse, así es como se hace:

Eclipse -> importación -> código androide existente -> navegar -> navegar a google-play-services_lib FOLDER (android-sdk / extras / google / google_play_services / libproject).

Luego, en su proyecto, haga clic en control -> propiedades -> android -> bibliotecas, agregue -> seleccione el proyecto que acaba de importar -> ok

Tenga en cuenta que esta revisión sólo puede aplicarse a los usuarios de IntelliJ! (Más información en la parte inferior de esta publicación que debe aplicarse a todos.)

Solucionado este problema! Yo uso IntelliJ y resulta que acabo de configurar incorrectamente la forma en que estaba incluido el módulo google-play-services_lib como una dependencia.

Como he arreglado esto completamente a través de la GUI y no en absoluto por la edición de ningún archivo, aquí hay un par de capturas de pantalla:

Paso 1 - Estructura Inicial del Proyecto Así que mi estructura de proyecto empezó a parecerse a esto …

Paso 2: se ha eliminado la biblioteca google-play-services Luego eliminé la biblioteca de google-play-services de mi lista de dependencias seleccionándola y luego haciendo clic en el botón menos en la parte inferior. Observe el error en la parte inferior del cuadro de diálogo, ya que mi proyecto requiere esta biblioteca. Pero no te preocupes, lo volveremos a añadir pronto!

Paso 3 - Añadido google-play-servicios como un módulo de dependencia A continuación agregé google-play-services_lib como una dependencia de módulo en lugar de una dependencia de biblioteca. Luego me golpeó el botón de flecha arriba en la parte inferior un par de veces para mover esta dependencia a la parte superior de la lista. Pero note el error en la parte inferior (todavía no hemos terminado!)

Paso 4 - Haga clic en la bombilla para agregar la biblioteca de google-play-services como una dependencia Luego hice clic en la bombilla en la parte inferior del cuadro de diálogo en el área de mensaje de error para que aparezca este pequeño emergente que da dos opciones ( Añadir a las dependencias … o quitar biblioteca ). Haga clic en la opción Agregar a las dependencias … !

Paso 5: agregue la biblioteca al módulo google-play-services_lib Una nueva pequeña ventana de diálogo debería haber aparecido. Me dio dos opciones, una para mi proyecto principal (su nombre es borrosa), y luego otra para el proyecto google-play-services_lib . El suyo puede tener un montón más dependiendo de su proyecto (como usted puede ver actionbarsherlock , cosas como eso). Selecciona google-play-services_lib y haz clic en ok!

¡Y finalmente, usted es hecho! Espero que esto ayude a alguien más por ahí!

Informacion adicional

Creo que la razón por la que este tema estaba sucediendo para empezar es porque pensé que había incluido correctamente todo el proyecto google-play-services_lib en mi proyecto en general … pero en realidad no lo había hecho, y en su lugar sólo había incluido correctamente su tarro Archivo ( google-play-services_lib/libs/google-play-services.jar ). Ese archivo jar sólo incluye código, no valores de recursos de Android, y así el valor @integer/google_play_services_version nunca estuvo realmente en mi proyecto. Pero el código fue capaz de ser utilizado en mi proyecto, y por lo que hizo parecer que todo estaba bien.

Y como una nota, la fijación de este problema también parece haber arreglado el fallo de GooglePlayServicesUtil.getErrorDialog(...).show() que solía tener. Pero eso también podría haber sido arreglado por la actualización, no realmente 100% seguro allí.

Me enfrenté al mismo problema y, aparentemente, Eclipse de alguna manera dejó el archivo version.xml en / res / values ​​del proyecto original de google-play-services_lib mientras hacía una copia. Saqué el archivo del proyecto original y lo pegué en mi copia del proyecto y el problema es fijo.

En Eclipse, después de importar la biblioteca de Google Play al área de trabajo del proyecto, acabo de copiar el archivo version.xml desde

 google-play-services_lib/res/values/version.xml 

a

 MyProjectName/res/values/version.xml 

Para cualquiera que use gradle: no incluya el origen del proyecto, sino que lo descargue usando SDK Manager y añada esta línea a las dependencias:

 compile 'com.google.android.gms:play-services:4.0.30' 

Sin el brazalete, parece que su proyecto está conectado a una versión anterior del proyecto de biblioteca de Play Services. El enfoque recomendado, por Google, es que encuentre el proyecto de biblioteca en el SDK y haga una copia local. Esto significa, sin embargo, que cada vez que actualice el proyecto de biblioteca de Play Services a través del Administrador de SDK, también deberá reemplazar la copia por una copia nueva.

  1. Instale "Google Play Services" y "Google Repository" en Android SDK Manager.
  2. Agregue la línea compile 'com.google.android.gms:play-services:4.1.32@aar' a su build.gradle .
  3. Como resultado, el recurso @integer/google_play_services_version estará disponible.

Después de la actualización a la última versión que tenía este problema con todos mis proyectos, pero se resolvió sólo añadir de nuevo la referencia de la biblioteca:

Si no tiene la biblioteca en su espacio de trabajo en Eclipse, puede agregarla con: File -> Import -> Existing Android Code Into Workspace -> navegar y navegar a google-play-services_lib proyecto lib, ( android-sdk/extras/google/google_play_services/libproject ).

Introduzca aquí la descripción de la imagen

Entonces borrar /bin y /gen carpetas de mi proyecto (algo similar a la opción limpia) y la construcción de mi proyecto de nuevo.

También me encontré con esto al intentar usar google_play_services_froyo.

Presenté este error: https://code.google.com/p/google-plus-platform/issues/detail?id=734

Resuelto para Eclipse

Siga los siguientes pasos:

  1. Importe la carpeta google-play-services_lib como proyecto, utilizando import-> Código Android Existente en el Espacio de Trabajo
  2. Desde las propiedades del proyecto seleccione la sección de Android, en la parte inferior En la sección Biblioteca, haga clic en Agregar y seleccione el google-play-services_lib y haga clic en Aceptar el enlace http://i.stack.imgur.com/opSeJ.png para ver la captura de pantalla

Para Eclipse, acabo de añadir una referencia de proyecto a google-play-services_lib en:

Propiedades-Android En el panel Biblioteca (panel inferior), asegúrese de que se muestra la lista google-play-services_lib. Si no, haga clic en el botón Agregar .. y seleccione google-play-services_lib.

El sitio para desarrolladores de Android de Google tiene instrucciones sobre cómo "Agregar servicios de Google Play a tu proyecto" y también son relevantes para actualizar la versión de Play Services. Incluso hay un menú desplegable para ver las instrucciones de Eclipse, Android Studio o "Algo más". Ese sería el mejor lugar para ver las instrucciones en caso de que cambien. La página está aquí:

http://developer.android.com/google/play-services/setup.html

Pero como la mayoría de las respuestas aquí son para Eclipse, aquí hay un breve resumen para actualizar los servicios de Play con Android Studio

  1. Abra el archivo build.gradle dentro del directorio del módulo de la aplicación. Nota: los proyectos de Android Studio contienen un archivo build.gradle de nivel superior y un archivo build.gradle para cada módulo. Asegúrese de editar el archivo para su módulo de aplicación.
  2. Actualice la regla de compilación en "dependencias" para referirse a la versión de los servicios de reproducción que ha descargado en su máquina de desarrollo.

Puede encontrar el número de versión de la versión de los servicios de reproducción que ha descargado en su máquina de desarrollo buscando en su carpeta \ sdk \ extras \ google \ m2repository \ com \ google \ android \ gms \ : ¿Cómo puedo hacer coincidir una revisión de Servicios de Google Play con una versión de instalación?

Tuve el mismo problema, el archivo version.xml no estaba en google-play-services_lib. Sólo tienes que iniciar sdk manager y aceptar la actualización, especialmente las cosas relacionadas con "extras".

Al importar google-play-services_lib, compruebe el código de versión definido en AndroidManifest.xml y version.xml. Yo había encontrado la diferencia en el código de versión y cambiarlo a 4242000 . Después de realizar el cambio, no hay más error de compilación en @ integer / google_play_services_version . Introduzca aquí la descripción de la imagen

A continuación se muestran las principales acciones que evitarán muchos errores al utilizar Google Play Service Lib:

  1. Asegúrese de copiar el proyecto de lib en el espacio de trabajo de proyectos de Eclipse.
  2. El SDK de destino para el proyecto de biblioteca de servicio de Google Play debe ser "Google
  3. API "3- Los datos meta deben agregarse al archivo de manifiesto.
  4. Su proyecto SDK objetivo debe ser 17 a menos que haya actualizado completamente a 19, porque en algunos casos 19 no funciona bien.

En mi caso, necesitaba copiar la FOLDER de google-play-services_lib en la misma DRIVE de los códigos fuente de mis aplicaciones

  • F: \ Productos \ Android \ APP * .java <- Mis aplicaciones están aquí, así que copié en la carpeta de abajo
  • F: \ Productos \ Android \ libs \ google-play-services_lib

Cuando no se utiliza un IDE, sino que se utiliza compilaciones de línea de comandos (con ant y ndk-build), es cómo resolverlo:

Instale todas las piezas req'd con el comando 'android'. Luego tiene una copia de google-play-service_lib / en la raíz del proyecto. Editar project.properties para incluir esta línea:

 android.library.reference.1=./google-play-services_lib 

Corregido añadiendo Google Play Services a mi módulo: archivo de compilación de la aplicación gradle. La documentación también dice para actualizar la versión cuando se actualiza GMS.

 dependencies { compile 'com.google.android.gms:play-services:9.6.1' } 

Tuve el mismo problema. El problema era que el "google-play-services.jar" no se importó correctamente en mi proyecto, aunque formaba parte del proyecto google_play_service_lib. Si está utilizando Eclipse, compruebe y vea si puede ver el archivo jar de servicios de reproducción en la sección Bibliotecas privadas de Android y si la biblioteca lo exporta.

Estoy utilizando las herramientas de la plataforma Android SDK versión 17 (no 19) y las herramientas SDK de Android versión 22.0.1

Acabo de actualizar los servicios de Google Play en la carpeta de extras de Android SDK Manager

El problema para mí era que el proyecto de la biblioteca y el proyecto usando los servicios del juego estaban en diversos directorios. Por lo que sólo:

  • 1.Agregue los archivos al mismo espacio de trabajo y, a continuación, quite la biblioteca.
  • Eclipse 2.Restart
  • 3. Agregue el proyecto de la biblioteca de nuevo
  • 4. Limpiar

Tuve el mismo problema con un proyecto utilizando Maven y IntelliJ. Los servicios de Google Play se agregan como una dependencia de maven. La compilación de maven funcionó bien desde la línea de comandos, pero IntelliJ se quejó de este símbolo que faltaba @integer/google_play_services_version

En mi caso forcé una actualización de los archivos POM de maven y resolvió el problema.

Google sugiere que no cree un proyecto directamente desde el directorio de SDK. Es mejor copiar el proyecto lib a la ubicación donde se encuentra la aplicación, y luego importarla desde allí. De lo contrario, la próxima vez que vaya a importar el proyecto para otra aplicación, ya estará en uso.

https://developer.android.com/google/play-services/setup.html

Nota: debe hacer referencia a una copia de la biblioteca que copió en su área de trabajo de desarrollo; no debe hacer referencia a la biblioteca directamente desde el directorio SDK de Android.

Cualquiera que busque en 2017, la versión 10.0.1 de los servicios de juego requiere la importación de play-services-basement (use para estar en la base de play-services-base ).

  • Error en la actualización del proyecto de Google Play Services en Android Studio
  • Cómo corregir un "SQLiteConnection para la base de datos gms" que se filtró
  • Mi aplicación es compatible en 2.3.3, cómo hacerlo compatible
  • Error al crear un proyecto de Android con los servicios de Google Play
  • Obtener un ID de usuario de Google Play Services?
  • Android SupportMapFragment Exception Error
  • Cómo mostrar el diálogo de configuración de ubicación en android?
  • Android M - GoogleAccountCredential setSelectedAccount no funciona - el nombre no debe ser nulo
  • Mi botón de Google + 1 está atenuado y no funciona?
  • Google-play-services_lib.jar falta después de actualizar a la última versión (3.1)
  • Google Play Games - Actividad que llama automáticamente a beginUserInitiatedSignIn ()
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.