Actualización de la biblioteca de Servicios de Google Play y símbolo @integer faltante/versión de servicios de Google play


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

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

Desafortunadamente, cuando intento hacer eso, obtengo este error de 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').

Luego puedo navegar hasta el archivo en google-play-services_lib/res/values/version.xml y ver el entero sin procesar para ese símbolo:

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

Y luego insertarlo de nuevo en mi AndroidManifest.xml:

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

Hacer esto funciona absolutamente bien y puedo a continuación, compilar y ejecutar el proyecto y la aplicación muy bien. Pero definitivamente es una solución indeseable con problemas obvios de actualizabilidad.

¿Alguna idea?

Author: Charles Madere, 2013-11-07

24 answers

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

Eclipse -> importar -> código android existente -> examinar -> vaya a la CARPETA google-play-services_lib (android-sdk/extras/google/google_play_services/libproject).

Luego, en tu proyecto, haz clic en control - > propiedades - > android - > bibliotecas, agrega - > selecciona el proyecto que acabas de importar - > ok

 255
Author: PSchuette,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-07 23:15:14

Tenga en cuenta que esta solución solo puede aplicarse a los usuarios IntelliJ!! (Más información al final de este post que debería aplicarse a todos.)

Solucionado este problema! Uso IntelliJ y resulta que acabo de configurar mal la forma en que estaba incluyendo el módulo google-play-services_lib como una dependencia.

Como arreglé esto completamente a través de la interfaz gráfica de usuario y no editando ningún archivo, aquí hay un par de capturas de pantalla:

Paso 1-Estructura Inicial del ProyectoAsí que mi Estructura de Proyecto comenzó con este aspecto...

Paso 2-Eliminado google-play-biblioteca de serviciosLuego eliminé la biblioteca 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 diálogo, ya que mi proyecto requiere absolutamente esta biblioteca. Pero no te preocupes, vamos a volver a añadir pronto!

Paso 3-Añadido google-play-services como dependencia del móduloA continuación agregué google-play-services_lib como una dependencia de módulo en lugar de una dependencia de biblioteca. Luego presione el botón de flecha hacia arriba en la parte inferior un par de veces para mover esta dependencia a la parte superior de la lista. Pero observe 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 dependenciaLuego hice clic en la bombilla en la parte inferior del cuadro de diálogo en el área de mensaje de error para mostrar esta pequeña ventana emergente que da dos opciones (Agregar a las dependencias... o Remove Library). Haga clic en Agregar a las dependencias... opción!

Paso 5-Añadir la biblioteca al módulo google-play-services_libDebería haber aparecido una pequeña ventana de diálogo. Me dio dos opciones, una para mi proyecto principal (su nombre está borroso), y luego otro para el proyecto google-play-services_lib. El tuyo puede tener un montón más dependiendo de tu proyecto (como puedes ver actionbarsherlock, cosas así). Seleccione google-play-services_lib y haga clic en okay!

Y finalmente, ¡has terminado! Espero que esto ayude a alguien más por ahí!

Más información

Creo que la razón por la que este problema estaba sucediendo para empezar es porque yo pensé que había incluido correctamente todo el proyecto google-play-services_lib en mi proyecto general... pero en realidad no lo había hecho, y lo había hecho en su lugar solo incluyó correctamente su archivo jar (google-play-services_lib/libs/google-play-services.jar). Ese archivo jar solo incluye código, no valores de recursos de Android, y como tal el valor @integer/google_play_services_version nunca fue realmente en mi proyecto. Pero el código se pudo usar en mi proyecto, y eso hizo que pareciera que todo estaba bien.

Y como nota al margen, arreglar este problema también parece haber solucionado el bloqueo 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í.

 76
Author: Charles Madere,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-08 17:31:07

Me enfrenté al mismo problema, y aparentemente Eclipse de alguna manera dejó el archivo version.xml en /res/values del proyecto original 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 se solucionó.

 30
Author: Atul Goyal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-18 10:39:57

En Eclipse, después de importar la biblioteca de google Play al espacio de trabajo del proyecto, simplemente copié la versión .archivo xml desde

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

A

MyProjectName/res/values/version.xml
 24
Author: Darragh O'Keeffe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-05 20:54:42

Para cualquiera que use gradle: no incluya el origen del proyecto, sino descárguelo usando SDK Manager y agregue esta línea a las dependencias:

compile 'com.google.android.gms:play-services:4.0.30'
 19
Author: Sofi Software LLC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-19 06:07:32
  1. Instale "Google Play Services" y "Google Repository" desde Android SDK Manager.
  2. Añade la línea compile 'com.google.android.gms:play-services:4.1.32@aar' a tu build.gradle.
  3. Como resultado el recurso @integer/google_play_services_version estará disponible.
 11
Author: Andrey Grebnev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-11 13:02:41

De repente, parece que su proyecto está conectado a una versión anterior del proyecto de biblioteca de Servicios de juego. El enfoque recomendado por Google es encontrar el proyecto de la biblioteca en el SDK y hacer una copia local. Esto significa, sin embargo, que cada vez que actualice el proyecto de la biblioteca de Play Services a través del SDK Manager, también debe reemplazar su copia con una copia nueva.

 9
Author: CommonsWare,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-07 18:53:42

Después de la actualización a la última versión tuve este problema con todos mis proyectos, pero se resolvió simplemente agregando de nuevo la referencia de la biblioteca:

Si no tienes la biblioteca en tu espacio de trabajo en Eclipse puedes agregarla con: File -> Import -> Existing Android Code Into Workspace -> busque y navegue hasta google-play-services_lib project lib, (android-sdk/extras/google/google_play_services/libproject).

introduzca la descripción de la imagen aquí

Luego borra las carpetas /bin y /gen de mi proyecto (algo similar a la opción clean) y vuelve a crear mi proyecto.

 7
Author: Jorgesys,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-28 00:34:16

También me encontré con esto mientras intentaba usar google_play_services_froyo.

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

 6
Author: AG1,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-16 05:35:36

Resuelto para Eclipse

Siga los pasos siguientes:

  1. Importe la carpeta google-play-services_lib como proyecto, utilizando importar - > Código Android Existente En Workspace
  2. Desde las propiedades del proyecto, seleccione la sección Android, en la parte inferior Haga clic en Agregar y seleccione google-play-services_lib y Aplicar Siga el enlace http://i.stack.imgur.com/opSeJ.png para ver la captura de pantalla
 6
Author: Riccardo Pittiglio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-12 19:28:45

El sitio para desarrolladores de Android de Google tiene instrucciones sobre cómo "Agregar Google Play Services a Su Proyecto", y también son relevantes para actualizar la versión de Play Services. Incluso hay un menú desplegable para ver instrucciones para 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 ya que la mayoría de los las respuestas aquí son para Eclipse, aquí hay un breve resumen para actualizar los servicios de reproducción con Android Studio

  1. Abre la compilación.archivo gradle dentro del directorio del módulo de aplicación. Nota: Los proyectos de Android Studio contienen una compilación de nivel superior.gradle file y una compilación.archivo 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 referir la versión de play-services que ha descargado en su máquina de desarrollo.

Puede encontrar el número de versión de la versión de play-services que ha descargado en su máquina de desarrollo buscando en su carpeta \sdk\extras\google\m2repository\com\google\android\gms\play-services, como se explica aquí: ¿Cómo puedo emparejar una revisión de Google Play Services con una versión de instalación?

 5
Author: Eric Barr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:03:06

Para Eclipse, acabo de agregar la referencia del proyecto a google-play-services_lib en:

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

 4
Author: hNdroid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-22 05:30:13

Tuve el mismo problema, la versión.el archivo xml no estaba en google-play-services_lib. Simplemente inicie sdk manager y acepte la actualización, especialmente las cosas relacionadas con"extras".

 3
Author: user2167877,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-15 03:31:09

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

 2
Author: Shanki Bansal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-05 14:32:15

Corregido al agregar Servicios de Google Play a mi archivo de compilación de Módulo:app gradle. La documentación también dice que actualice la versión cuando actualice GMS.

dependencies {

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

} 
 2
Author: Hugh Brady,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-12 05:50:29

A continuación se muestran las principales acciones que evitarán muchos errores al usar Google play service Lib:

  1. Asegúrese de copiar el proyecto lib al espacio de trabajo proyectos Eclipse.
  2. SDK de destino para Google play service lib proyecto debe ser "Google
  3. API " 3-Los metadatos deben agregarse al archivo de manifiesto.
  4. El SDK de destino del proyecto debe ser 17 a menos que haya completado actualizado a 19, porque en algunos casos 19 no funciona bien.
 1
Author: Ayman Al-Absi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-01 22:42:49

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

  • F:\Products\Android\APP*.java
  • F:\Products\Android\libs\google-play-services_lib
 1
Author: fedmich,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-28 05:00:43

Cuando no se usa un IDE, sino que se usan compilaciones de línea de comandos (usando ant y ndk-build), esta es la forma de resolverlo:

Instale todas las partes requeridas con el comando 'android'. A continuación, tenga una copia de google-play-service_lib/ en la raíz del proyecto. Editar proyecto.propiedades para incluir esta línea:

android.library.reference.1=./google-play-services_lib
 1
Author: Bram,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-25 19:50:37

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

Estoy usando Android SDK platform tools versión 17 (no 19) y Android SDK tools versión 22.0.1

 0
Author: Punit Raizada,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-31 15:13:57

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

 0
Author: KarenAnne,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-06 06:13:28

El problema para mí era que el proyecto de la biblioteca y el proyecto que usaba servicios play estaban en directorios diferentes. Así que solo:

  • 1.Agregue los archivos al mismo espacio de trabajo y luego elimine la biblioteca.
  • 2.Reiniciar eclipse
  • 3.Añadir el proyecto de la biblioteca de nuevo
  • 4.Clear
 0
Author: makkasi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-28 13:04:37

Tuve el mismo problema con un proyecto usando Maven e IntelliJ. Los servicios de Google Play se agregan como una dependencia 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 yo forcé una actualización de los archivos maven POM y solucionó el problema.

 0
Author: Pierre Henry,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-20 13:25:03

Google sugiere que no cree un proyecto directamente desde el directorio SDK. Es mejor copiar el proyecto lib a la ubicación donde se encuentra tu aplicación, luego importarlo 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 espacio de trabajo de desarrollo,no debe consulta la biblioteca directamente desde el directorio del SDK de Android.

 0
Author: Shygar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-26 03:42:25

Cualquiera que busque en 2017, la versión 10.0.1 de play services requiere importar play-services-basement (solía estar en play-services-base).

 0
Author: goobliata,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-24 12:24:23