GetOpenSourceSoftwareLicenseInfo devuelve null ahora

Un problema trivial pero molesto ha surgido en los últimos días. Anteriormente mi opción de menú que apareció un cuadro de diálogo para mostrar el texto legal para el uso de los Servicios de Google era muy completo (si un poco lento para cargar), pero ahora es nulo sin cambio en el código.

GoogleApiAvailability apiAvailability = GoogleApiAvailability.getInstance(); int resultCode = apiAvailability.isGooglePlayServicesAvailable(this); if (resultCode == ConnectionResult.SUCCESS) { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("About"); builder.setMessage(apiAvailability.getOpenSourceSoftwareLicenseInfo(this)); builder.setPositiveButton("OK", null); builder.show(); } 

¿Es este un problema común a otros, es decir, un nuevo error introducido por una actualización de Google o alguna otra posibilidad?

De acuerdo con https://code.google.com/p/gmaps-api-issues/issues/detail?id=9813

Parece que google ha cambiado el nombre de archivo que estaba buscando de oss_notice a third_party_licenses . Básicamente se rompió la obtención de la información de licencia para cualquier implementación de servicios de juego debajo de 9.0.0.

Tendrá que actualizar la versión a 9.0.0 para obtener la información de licencia de nuevo para el dispositivo con versiones posteriores de los servicios de reproducción.

EDIT (6 de junio de 2016): Google está estudiando el tema ahora.

Miembro # 3 del proyecto … @ google.com

Gracias por los informes. Hemos presentado esto internamente y lo examinaremos.

Estado: Aceptado Etiquetas: Interno-29143355

Sí, la actualización de Google Play Services a la última versión (9.0.0 al momento de escribir esta respuesta) resuelve el problema.

Tuve el mismo problema y después de actualizar Google Play Services empecé a obtener las licencias correctamente.

Si mantiene una aplicación antigua y no puede actualizar razonablemente desde una versión muy antigua de Google Play Services sin romper una gran cantidad de características antiguas, hay una solución viable:

Descompile el método getOpenSourceSoftwareLicenseInfo () con Android Studio, copie el método en su proyecto y cambie la línea para que apunte desde "oss_notice" a "third_party_licenses".

  Uri var1 = (new android.net.Uri.Builder()).scheme("android.resource").authority("com.google.android.gms").appendPath("raw").appendPath("oss_notice").build(); 

a

  Uri var1 = (new android.net.Uri.Builder()).scheme("android.resource").authority("com.google.android.gms").appendPath("raw").appendPath("third_party_licenses").build(); 
  • Redireccionar usuario a la página de suscripción en la tienda de reproducción
  • Error: No se puede crear FMOD :: Instancia de sonido para recurso sharedassets0.resource al dividir el binario de la aplicación en Unity
  • ID de la unidad de anuncio de Android AdMob real en los canales Beta y Alpha
  • Cómo habilitar la firma de la aplicación de Google Play
  • "ERROR obtener 'android: icono' atributo: el atributo no es un valor de cadena" al intentar subir al Android Market
  • Esta versión de la aplicación no está configurada para la facturación a través de Google Play
  • ¿Hay alguna manera de ver que un usuario ha enviado una revisión al Marketplace de Android?
  • Mejor hora / día para publicar en Android Market?
  • Seguimiento de referencias de instalación de Android con Amazon Appstore
  • ¿Estoy recibiendo estos pasos correctamente para comprobar la suscripción de facturación de un usuario en la aplicación?
  • Actualizaciones automáticas google play
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.