Actualización de Google Play Services

Ayer salió API 19, así que actualicé SDK y otros (incluidos los servicios de Google Play) ahora este método:

private boolean isGooglePlayInstalled(){ int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); if(status == ConnectionResult.SUCCESS){ return true; }else{ ((Dialog)GooglePlayServicesUtil.getErrorDialog(status, this,10)).show(); } return false; } 

Tira a la línea

  int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable (this); 

 Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 4030500 but found 0. You must have the following declaration within the  element:  

¿Cómo arreglar eso? No tenía elemento

  "com.google.android.gms.version" 

en manifiesto antes y funcionó.

Este es mi manifiesto:

                        

Esto funcionó para mí:

  

Coloque esto al final de su manifiesto, después de la etiqueta de metadatos de la clave Map API. Ya que verifica la disponibilidad de GPlayServices en su método onCreate, como por ejemplo:

 // Check status of Google Play Services int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); // Check Google Play Service Available try { if (status != ConnectionResult.SUCCESS) { GooglePlayServicesUtil.getErrorDialog(status, this, RQS_GooglePlayServices).show(); } } catch (Exception e) { Log.e("Error: GooglePlayServiceUtil: ", "" + e); } 

… luego, una vez que haga clic en el cuadro de diálogo para actualizar GPlayServices, será llevado a GPlayStore. Por lo general, desinstalo desde el menú GPlayStore, entonces la opción de actualización estará disponible. Después de eso debería de funcionar.

Comparación de contenido del paquete

El proyecto lib de “google_play_services_froyo” contiene estos paquetes com.google.android.gms :

  • appstate
  • auth
  • común
  • dinámica
  • juegos
  • gcm
  • interno
  • ubicación
  • mapas
  • outlook
  • más

Por otro lado, el nuevo (rev.13) proyecto “google_play_servicios” lib tiene algunos paquetes adicionales dentro de com.google.android.gms :

  • anuncios
  • appstate
  • auth
  • común
  • dinámica
  • juegos
  • gcm
  • interno
  • ubicación
  • mapas
  • outlook
  • más
  • billetera

Además, este paquete se encuentra en el nuevo (rev. 13) “google_play_services”: com.google.ads !

Comparación AndroidManifext.xml

El antiguo (rev. 12) “google_play_services” tenía:

     

El proyecto recientemente lanzado “google_play_services_froyo” lib tiene:

     

Conclusión

El “google_play_services_froyo” es funcionalmente el mismo que el anterior (rev. 12) “google_play_services” del proyecto lib, así que si solo quieres mantener tu aplicación compatible y no te importan las nuevas API, simplemente importa el “google_play_services_froyo” en tu proyecto y estás listo para ir.

Por otro lado, si desea utilizar el nuevo (rev.13) proyecto lib “google_play_services”, una vez que lo importe, debe agregarlo al manifiesto de sus aplicaciones:

   

Espero que esto haya ayudado 🙂

Eso me pasó ayer. Solo necesitaba agregar esto en el manifiesto: