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 al AndroidManifest.xml
archivo.
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Desafortunadamente, cuando trato de hacer eso, aparece 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 al archivo en google-play-services_lib/res/values/version.xml
y ver el entero sin formato 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 luego puedo compilar y ejecutar el proyecto y la aplicación muy bien. Pero definitivamente es una solución indeseable con problemas obvios de actualización.
¿Algunas ideas?
android
google-play-services
Charles Madere
fuente
fuente
Respuestas:
Para todos los que usan Eclipse, así es como debe hacerlo.
Entonces, en tu proyecto
fuente
.project
archivo en elgoogle-play-services_lib
directorio indicado . Obviamente, la razón inmediata es que Eclipse no puede escribir en el directorio Archivos de programa, donde se encuentra el SDK, pero la pregunta más concreta sería por qué es necesario modificar el.project
archivo (que aparentemente pertenece al SDK y, por lo tanto, debería ser "correcto") en primer lugar.¡Tenga en cuenta que esta solución solo puede aplicarse a los usuarios de IntelliJ! (Más información al final de esta publicación que debería aplicarse a todos).
Solucionado este problema! Uso IntelliJ y resulta que había configurado mal la forma en que estaba incluyendo el
google-play-services_lib
módulo como una dependencia.Como arreglé esto completamente a través de la GUI y no edité ningún archivo, aquí hay un par de capturas de pantalla:
Así que mi Estructura de Proyecto comenzó luciendo así ...
Luego eliminé la
google-play-services
biblioteca 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 absolutamente esta biblioteca. Pero no se preocupe, ¡lo volveremos a agregar pronto!A continuación, agregué
google-play-services_lib
como una dependencia de módulo en lugar de una dependencia de biblioteca. Luego presioné el botón de flecha hacia arriba en la parte inferior un par de veces para mover esta dependencia al principio de la lista. Pero observe el error en la parte inferior (¡todavía no hemos terminado!)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 esta pequeña ventana emergente que ofrece dos opciones ( Agregar a las dependencias ... o Eliminar biblioteca ). Haga clic en la opción Agregar a las dependencias ...
Debería haber aparecido una nueva ventana de diálogo pequeña. Me dio dos opciones, una para mi proyecto principal (su nombre está borroso) y luego otra para el
google-play-services_lib
proyecto. El tuyo puede tener muchos más dependiendo de tu proyecto (como puedes veractionbarsherlock
, cosas así). ¡Seleccionegoogle-play-services_lib
y haga clic en Aceptar!Y finalmente, ¡has terminado! ¡Espero que esto ayude a alguien más!
Informacion adicional
Creo que la razón por la que este problema estaba sucediendo al principio es porque pensé que había incluido correctamente todo el
google-play-services_lib
proyecto en mi proyecto general ... pero en realidad no lo había hecho, y en su lugar solo había incluido 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, por lo que el@integer/google_play_services_version
valor nunca estuvo 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, solucionar este problema también parece haber solucionado el
GooglePlayServicesUtil.getErrorDialog(...).show()
bloqueo que solía tener. Pero eso también podría haber sido solucionado por la actualización, no realmente 100% seguro allí.fuente
Me enfrenté al mismo problema, y aparentemente Eclipse de alguna manera dejó el
version.xml
archivo en / res / valores delgoogle-play-services_lib
proyecto original mientras hacía una copia. Saqué el archivo del proyecto original y lo pegué en mi copia del proyecto y el problema está solucionado.fuente
En Eclipse, después de importar la biblioteca de Google Play al espacio de trabajo del proyecto, acabo de copiar el archivo version.xml de
a
fuente
version.xml
archivo con cada actualización.Para cualquiera que use gradle: no incluya la fuente del proyecto, sino que descárguelo usando SDK Manager y agregue esta línea a las dependencias:
fuente
compile 'com.google.android.gms:play-services:4.1.32@aar'
a tubuild.gradle
.@integer/google_play_services_version
estará disponible.fuente
De repente, 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 la biblioteca en el SDK y haga una copia local. Sin embargo, esto significa que cada vez que actualice el proyecto de la biblioteca de Play Services a través del Administrador de SDK, también debe reemplazar su copia con una copia nueva.
fuente
También me encontré con esto al intentar usar google_play_services_froyo.
Archivé este error: https://code.google.com/p/google-plus-platform/issues/detail?id=734
fuente
después de la actualización de la última versión tuve este problema con todos mis proyectos, pero se resolvió simplemente agregando nuevamente 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 hasta elgoogle-play-services_lib
proyecto lib, (android-sdk/extras/google/google_play_services/libproject
).luego borrando
/bin
y/gen
carpetas de mi proyecto (algo similar a la opción de limpieza) y construyendo mi proyecto nuevamente.fuente
Resuelto para Eclipse
Sigue los siguientes pasos:
fuente
google-play-services_lib
estaba enF:\Android\sdk\extras\google\google_play_services\libproject\google-play-services_lib
El sitio para desarrolladores de Android de Google tiene instrucciones sobre cómo "Agregar servicios de Google Play a su proyecto", y también son relevantes sobre cómo 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 como la mayoría de las respuestas aquí son para Eclipse, aquí hay un breve resumen para actualizar Play Services con Android Studio
Puede encontrar el número de versión para 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 hago coincidir una revisión de Google Play Services con una versión de instalación?
fuente
Para Eclipse, acabo de agregar una referencia de proyecto a google-play-services_lib en:
Propiedades-Android En el panel Biblioteca (panel inferior), asegúrese de que google-play-services_lib esté en la lista. De lo contrario, haga clic en el botón Agregar ... y seleccione google-play-services_lib.
fuente
Tuve el mismo problema, el archivo version.xml no estaba en google-play-services_lib. Simplemente inicie su administrador de SDK y acepte la actualización, especialmente las cosas relacionadas con "extras".
fuente
Al importar google-play-services_lib, verifique el código de versión definido en AndroidManifest.xml y version.xml. Encontré la diferencia en el código de versión y lo cambié a 4242000 . Después de realizar el cambio, no hay más errores de compilación en @ integer / google_play_services_version .
fuente
Solucionado agregando Google Play Services a mi Módulo: archivo de compilación de gradle de aplicaciones La documentación también dice que actualice la versión cuando actualice GMS.
fuente
A continuación se detallan las acciones principales que evitarán muchos errores al utilizar el servicio de Google Play Lib:
fuente
Tuve el mismo problema con un proyecto con Maven e IntelliJ. Los servicios de Google Play se agregan como una dependencia de Maven. La construcción 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.
fuente
En mi caso, necesitaba copiar la CARPETA google-play-services_lib en la misma UNIDAD de los códigos fuente de mis aplicaciones
fuente
Cuando no usa un IDE, pero usa compilaciones de línea de comando (usando ant y ndk-build), esta es la forma de resolverlo:
Instale todas las partes requeridas con el comando 'android'. Luego tenga una copia de google-play-service_lib / en la raíz de su proyecto. Edite project.properties para incluir esta línea:
fuente
android update project -p . -t android-22
engoogle-play-services_lib
primer lugar. De manera equivalente, agregue<property name="android.library.reference.1" value="./google-play-services_lib"/>
a subuild.xml
(minimicé mibuild.xml
y abandoné el.properties
).Tuve el mismo problema. El problema era que "google-play-services.jar" no se importó correctamente a mi proyecto a pesar de que formaba parte del proyecto google_play_service_lib. Si está utilizando Eclipse, verifique 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 usando las herramientas de la plataforma Android SDK versión 17 (no 19) y las herramientas Android SDK versión 22.0.1
fuente
Acabo de actualizar los servicios de Google Play en la carpeta Extras en Android SDK Manager
fuente
El problema para mí era que el proyecto de la biblioteca y el proyecto que usaba servicios de reproducción estaban en directorios diferentes. Por lo que sólo:
fuente
Google sugiere que no cree un proyecto directamente desde el directorio SDK. Es mejor copiar el proyecto lib a la ubicación donde está su 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
fuente
Cualquiera que busque en 2017, la versión 10.0.1 de los servicios de reproducción requiere importación
play-services-basement
( solía estar enplay-services-base
).fuente
Android Studio 3.3.2 en Windows 10
Archivo -> Invalidar cachés / reiniciar y elegir el
invalidate and Restart
botón en el cuadro de diálogo apareció.fuente
Tuve el mismo problema, agregue esta línea 2 en su build.gradle, el problema se resolverá probablemente. ;)
fuente