Save the date! Android Dev Summit is coming to Sunnyvale, CA on Oct 23-24, 2019.

Compatibilidad y notas de la versión

Durante el desarrollo y las pruebas que lleves a cabo con la versión Beta de Android Q, tendrás dos canales de asistencia principales:

  • Para informar los errores específicos de dispositivos, de sistema o de Google app, visita https://developer.android.com/preview/bug.
  • Para notificar problemas en otras apps, comunícate directamente con el desarrollador.

Para debatir sobre los problemas o las ideas con otros desarrolladores que trabajan con la versión Beta de Android Q, únete a la comunidad android_beta en Reddit.

Beta 1

Fecha: marzo de 2019
Compilación: PPP1.180208.014 (Pixel, Pixel XL, Pixel 2, Pixel 2 XL, Pixel 3 y Pixel 3 XL)
Compatibilidad con emulador: x86 (32/64-bit)
Nivel de parche de seguridad: marzo de 2019
Servicios de Google Play: 12.4.46
Diferencias de API: API 28 → Beta1

Recomendaciones generales

Este lanzamiento en versión Beta está diseñado únicamente para usarse en pruebas de compatibilidad y durante etapas tempranas del desarrollo. Ten en cuenta algunas notas generales sobre esta versión:

  • Podría presentar varios problemas de estabilidad y rendimiento en los dispositivos que la convierten en una versión no recomendable para uso diario en tablets o teléfonos.
  • Se sabe que el rendimiento de las apps y del sistema es periódicamente lento y problemático, y existe la posibilidad de que, ocasionalmente, los dispositivos dejen de responder.
  • La duración de la batería se puede ver afectada cuando se apaga y se enciende la pantalla.
  • Es posible que algunas apps no funcionen correctamente en Beta 1. Entre ellas, se incluyen tanto aplicaciones de Google como de otros desarrolladores.
  • No ha superado el conjunto de pruebas de compatibilidad (CTS).
  • Está disponible como una actualización inalámbrica a través del programa Android Beta.

Problemas conocidos

Rendimiento y batería

  • Se sabe que el rendimiento de las apps y del sistema es periódicamente lento y problemático, y existe la posibilidad de que, ocasionalmente, los dispositivos dejen de responder. Estos problemas se pueden agravar con el uso prolongado.
  • La duración de la batería se puede ver afectada cuando se apaga y se enciende la pantalla.

Nuevas funciones

  • Visibilidad del ícono de selector: En Android Q, la bandeja Todas las apps muestra un ícono de selector para cada paquete instalado en el dispositivo, excepto en los siguientes casos:

    • Apps del sistema
    • Apps que no tienen ningún componente dentro de la etiqueta <application> de su manifiesto

    Incluso, si una app incluye código, pero no tiene actividades que se puedan iniciar, su ícono aparecerá igualmente en la bandeja Todas las apps. Cuando los usuarios seleccionen este ícono, se los dirigirá a la pantalla de configuración de la app.

App de Android Beta Feedback

  • Si compartes una captura de pantalla con la app directamente desde las notificaciones del sistema, es posible que se produzca una falla. Para evitar esto, comparte la imagen desde la app de Archivos.
  • Si usas un perfil de trabajo, darle el permiso del Teléfono a la app podría causar que fallaran las descargas o se bloqueara la app. Para evitar que esto suceda, inhabilita o rechaza el permiso del Teléfono en la configuración de la app.

Android Studio

  • Para compilar y usar las API de SDK de Android Q, configura lo siguiente en el archivo build.gradle de tu app:
    • compileSdkVersion "android-Q"
    • buildToolsVersion "29.0.0 rc1"
    • targetSdkVersion "Q"

SDK

  • Ocasionalmente, Android Studio experimenta retrasos al perfilar usando una imagen del sistema del emulador de Android Q.

  • Si aún usas bibliotecas de compatibilidad de AppCompat heredadas (com.android.support), Android  Studio produce una advertencia de lint para informar que esta biblioteca de compatibilidad no debe usar otra compileSdkVersion. La versión 28 es la versión final de com.android.support, así que te recomendamos migrar a las bibliotecas de AndroidX (androidx.appcompat) de ahora en adelante. Esta advertencia de lint no aparece al usar las bibliotecas de AndroidX.

  • En la versión Beta 1, el valor predeterminado de android:extractNativeLibs se modificó de true a false en el elemento <application> correspondiente a los archivos de manifiesto de la app. Si tu app está orientada a Android Q, contiene código nativo y no especifica explícitamente android:extractNativeLibs="false", debes configurar android:extractNativeLibs como true en el archivo de manifiesto de tu app a fin preservar su comportamiento actual. Para obtener más información sobre los beneficios de usar android:extractNativeLibs="false", consulta Cómo evitar extraer bibliotecas nativas.

  • En el caso de apps con minSdkVersion="Q", compilar un paquete de aplicaciones no funciona y muestra un mensaje de error similar al siguiente:

    Execution failed for task ':app:packageDebugBundle'.
        > java.util.concurrent.ExecutionException: com.android.tools.build.bundletool.utils.xmlproto.UnexpectedAttributeTypeException: Attribute 'minSdkVersion' expected to have type 'decimal int' but found:
          namespace_uri: "http://schemas.android.com/apk/res/android"
          name: "minSdkVersion"
          value: "Q"
          resource_id: 16843276
        

    Esperamos tener una actualización sobre este problema más adelante en el ciclo Beta.

  • Si usas Gradle 3.2.0 para proyectos orientados a Android Q, es posible que encuentres un problema relacionado con lint y veas un mensaje similar al siguiente: "Could not transform android.jar to a mockable jar" (No se pudo transformar android.jar en un archivo jar mockable). Este problema no aparece en Gradle 3.3.0 y versiones posteriores.

    Si trabajas en una app orientada a Android Q y no puedes actualizar a Gradle 3.3.0 ni versiones posteriores, usa una de las siguientes soluciones alternativas:

    • Inhabilitar lint para compilaciones de versión
    • Descomprimir y volver a comprimir android.jar

Android Enterprise

  • Las actividades lanzadas en un perfil de trabajo no respetan el tema configurado en un dispositivo.
  • Si se aprovisiona un dispositivo completamente administrado con el parámetro PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED adicional configurado como false, ninguna barra de búsqueda aparecerá en Configuración.
  • La restricción de usuario DISALLOW_CONFIG_PRIVATE_DNS también evita que el Administrador de políticas de dispositivos configure DNS privado en un dispositivo completamente administrado.
  • La pantalla de configuración del Administrador de dispositivos muestra entradas duplicadas.