Posted by Dave Burke, VP of Engineering
Hacer que Android funcione bien para cada uno de los miles de millones de usuarios de Android es un proceso colaborativo entre nosotros, los fabricantes de hardware de Android y ustedes, nuestra comunidad de desarrolladores.
Hoy estamos lanzando el primer Preview para Desarrolladores de Android 14, y su retroalimentación en estos previos es una parte crítica para hacer que Android sea mejor para todos. Android 14 continúa nuestro trabajo para mejorar su productividad como desarrolladores, junto con mejoras en rendimiento, privacidad, seguridad y personalización del usuario. Este preview es solo el comienzo, y tendremos mucho más que compartir a medida que avanzamos en el ciclo de lanzamiento.
Android sigue ofreciendo mejoras y nuevas funciones a lo largo del año, y su retroalimentación en el Preview para Desarrolladores de Android 14 y en el programa beta de lanzamiento trimestral de la plataforma (QPR) juega un papel clave en la ayuda para que Android mejore continuamente. El sitio para desarrolladores de Android 14 tiene mucha más información sobre el preview, incluyendo descargas para Pixel y el cronograma de lanzamiento. Esperamos escuchar su opinión, y agradecemos de antemano su continuada ayuda para hacer de Android una plataforma que funcione para todos.
Trabajar en dispositivos y formatos
Android 14 se basa en el trabajo realizado en Android 12L y 13 para admitir tabletas y formas plegables. Para ayudarte a crear aplicaciones que se adapten a diferentes tamaños de pantalla, hemos creado clases de tamaño de ventana, diseño de panel deslizante, incrustación de actividad y caja con restricciones, todo respaldado en Jetpack Compose. Con cada lanzamiento, nuestro objetivo es hacer que sea más fácil para ti optimizar tu aplicación en todas las superficies de Android.
Para ayudar a simplificar la preparación de tus aplicaciones, hemos actualizado nuestra guía de calidad de aplicaciones para pantallas grandes y brindado más oportunidades de aprendizaje sobre el desarrollo para pantallas grandes y plegables. La galería de pantallas grandes contiene patrones de diseño probados junto con inspiración de diseño en los mercados que admiten tu aplicación, como aplicaciones sociales y de comunicación, medios, productividad, compras y lectura.
Las experiencias multidispositivo son una parte importante del futuro de Android. Puedes empezar hoy con la versión previa del SDK de dispositivo cruzado, lo que te permitirá crear experiencias ricas que funcionen intuitivamente en diferentes dispositivos y formatos, y hay más por venir.
Agilizando el trabajo en segundo plano
Android 14 continúa nuestro esfuerzo para optimizar la forma en que las aplicaciones trabajan juntas, mejorar la salud del sistema y la vida de la batería, y pulir la experiencia del usuario final.
Actualizaciones y adiciones a JobScheduler y Servicios en primer plano
Es más complicado de lo necesario realizar algún trabajo en segundo plano, como descargar archivos grandes cuando está disponible Wi-Fi. Estamos creando un camino estándar para este trabajo para simplificar el desarrollo de tu aplicación y potencialmente mejorar la experiencia del usuario. También estamos siendo más opinionativos sobre cómo deben usarse los servicios en primer plano, reservándolos solo para las tareas más importantes enfrentadas por el usuario, para que Android pueda mejorar el consumo de recursos y la vida de la batería.
En Android 14, estamos haciendo cambios a las API de Android existentes (Servicios en primer plano y JobScheduler), incluyendo la adición de nuevas funcionalidades para las transferencias de datos iniciadas por el usuario, junto con un requisito actualizado para declarar los tipos de servicios en primer plano. La tarea de transferencia de datos iniciada por el usuario facilitará la gestión de descargas y cargas iniciadas por el usuario, especialmente cuando requieran restricciones como la descarga solo con Wi-Fi. La necesidad de declarar los tipos de servicios en primer plano le permite definir claramente la intención del trabajo en segundo plano de su aplicación, y hacer claro qué casos de uso son apropiados para los servicios en primer plano. Además, Google Play implementará nuevas políticas para garantizar el uso apropiado de estas API, con más detalles por venir.
Emisiones optimizadas
Hemos realizado varias optimizaciones en el sistema interno de transmisión para mejorar la duración de la batería y la respuesta. Aunque la mayoría de las optimizaciones son internas en Android y no deben afectar sus aplicaciones, hemos ajustado cómo las aplicaciones reciben las transmisiones registradas por contexto una vez que la aplicación ingresa en un estado en caché. Las transmisiones a receptores registrados por contexto pueden ser encoladas y solo se entregarán a la aplicación una vez que salga del estado en caché. Además, algunas transmisiones repetidas registradas por contexto, como BATTERY_CHANGED, pueden ser combinadas en una sola transmisión final antes de ser entregadas una vez que la aplicación salga del estado en caché.
Alarmas exactas
La invocación de alarmas exactas puede afectar significativamente los recursos del dispositivo, como la duración de la batería. Por lo tanto, en Android 14, las aplicaciones nuevamente instaladas que apunten a Android 13+ (SDK 33+) y que no sean relojes ni calendarios deben solicitar al usuario que les conceda el permiso especial SCHEDULE_EXACT_ALARM antes de establecer alarmas exactas. Las aplicaciones pueden dirigir a los usuarios a la página de configuración a través de una intención para activar este permiso, pero se anima a evaluar los casos de uso y elegir alternativas más flexiblemente programadas cuando sea posible.
Personalización
Continuamos asegurándonos de que los usuarios de Android puedan afinar su experiencia según sus necesidades individuales, incluidas características mejoradas de accesibilidad e internacionalización.
Letras más grandes con escalado no lineal
A partir de Android 14, los usuarios podrán escalar su letra hasta 200%. Anteriormente, la escala máxima de tamaño de letra en los dispositivos Pixel era del 130%.
Para mitigar los problemas donde el texto se vuelve demasiado grande, a partir de Android 14, se aplica automáticamente una curva de escalado de letra no lineal. Esto garantiza que el texto que ya es lo suficientemente grande no aumente a la misma tasa que el texto más pequeño.
En Android 14, debería probar la interfaz de usuario de su aplicación con el tamaño de fuente máximo utilizando la opción de tamaño de fuente dentro de los ajustes de tamaño de pantalla y texto de accesibilidad. Asegúrese de que la configuración de texto grande ajustada se refleje en la interfaz de usuario y que no cause que el texto se corte. Nuestra documentación tiene más información sobre las mejores prácticas. |
Preferencias de idioma por aplicación
Puede actualizar dinámicamente la configuración de idioma de su aplicación con LocaleManager.setOverrideLocaleConfig para personalizar el conjunto de idiomas que se muestran en la lista de idiomas por aplicación en la configuración de Android. Esto le permite personalizar la lista de idiomas por región, realizar experimentos A/B y proporcionar localizaciones actualizadas si su aplicación utiliza la localización del lado del servidor.
Los IME ahora pueden usar LocaleManager.getApplicationLocales para conocer el idioma de la interfaz de usuario de la aplicación actual para actualizar el idioma del teclado.
API de inflexión gramatical
La API de inflexión gramatical le permite agregar fácilmente soporte para usuarios que hablan idiomas que tienen género gramatical. Por ejemplo,
Masculino: “Vous êtes abonné à…”
Femenino: “Vous êtes abonnée à…”
Neutral: “Abonnement à…activé”
El género gramatical es inherente al idioma y no se puede evitar fácilmente en algunos idiomas que no son inglés. Esta nueva API reduce el esfuerzo para admitir el género del espectador (quién está viendo la interfaz de usuario; no de quién se habla) en comparación con el uso de SelectFormat en ICU, que debe aplicarse en una base por cadena.
Para mostrar traducciones personalizadas, solo necesita agregar traducciones con inflexión para cada género gramatical para los idiomas afectados e integrar la API.
Gestión de credenciales y soporte de Passkeys
Recientemente anunciamos la versión alpha de Credential Manager, una nueva API de Jetpack que le permite simplificar el proceso de autenticación de sus usuarios y aumentar la seguridad con el soporte de Passkeys. Los Passkeys son un reemplazo significativamente más seguro para las contraseñas y otros factores de autenticación propensos a phishing y son más convenientes para los usuarios (solo requieren una gestión biométrica para iniciar sesión de manera segura en cualquier dispositivo). Lea más aquí.
Receptores en tiempo de ejecución
Las aplicaciones destinadas a Android 14 deben indicar si el uso dinámico de Context.registerReceiver() debe tratarse como “exportado” o “no exportado”, una continuación del trabajo a nivel de manifiesto de versiones anteriores. Aprende más aquí.
Intentos implícitos más seguros
Para prevenir que las aplicaciones maliciosas intercepten intentos, las aplicaciones destinadas a Android 14 están restringidas de enviar intentos internamente que no especifican un paquete. Aprende más aquí.
Carga de código dinámica más segura
La carga de código dinámico (DCL) introduce salidas para malware y explotaciones, ya que los ejecutables descargados de manera dinámica pueden ser manipulados de manera inesperada, causando inyección de código. Las aplicaciones destinadas a Android 14 requieren que los archivos cargados dinámicamente se marquen como solo lectura. Aprende más aquí.
Bloquear la instalación de aplicaciones
El malware a menudo se dirige a niveles más antiguos de API para evadir las protecciones de seguridad y privacidad que se han introducido en las versiones más recientes de Android. Para protegerse de esto, a partir de Android 14, no se pueden instalar aplicaciones con un targetSdkVersion menor que 23. Se eligió esta versión específica porque algunas aplicaciones de malware usan un targetSdkVersion de 22 para evadir el modelo de permisos en tiempo de ejecución introducido en 2015 por Android 6.0 (nivel de API 23).
En los dispositivos que actualizan a Android 14, cualquier aplicación con un targetSdkVersion inferior a 23 permanecerá instalada.
Puede probar aplicaciones con un nivel de API más antiguo usando el siguiente comando ADB:
adb install –bypass-low-target-sdk-block FILENAME.apk
Gestor de credenciales y soporte de claves
Recientemente anunciamos la versión alpha del Gestor de credenciales, una nueva API de Jetpack que le permite simplificar la experiencia de autenticación de sus usuarios, al mismo tiempo que aumenta la seguridad con el soporte de claves. Las claves son un reemplazo significativamente más seguro para las contraseñas y otros factores de autenticación engañosos y más convenientes para los usuarios (solo necesitan un deslizamiento biométrico para iniciar sesión de forma segura en cualquier dispositivo). Lea más aquí.
Compatibilidad de aplicaciones
Estamos trabajando para hacer que las actualizaciones sean más rápidas y suaves con cada versión de la plataforma, priorizando la compatibilidad de las aplicaciones. En Android 14, hemos hecho que la mayoría de los cambios que afectan a las aplicaciones sean optativos, para darte más tiempo para realizar los cambios necesarios en tu aplicación, y hemos actualizado nuestras herramientas y procesos para ayudarte a estar preparado antes.
Soporte OpenJDK 17 – Esta versión incluye acceso a 300 clases OpenJDK 17. Estamos trabajando arduamente para habilitar completamente las características del lenguaje Java 17 en las próximas versiones de desarrolladores. Estos incluyen clases de registro, cadenas de varias líneas y coincidencia de patrones con instanceof. Gracias a las actualizaciones del sistema Google Play (Proyecto Mainline), más de 600 millones de dispositivos pueden recibir las últimas actualizaciones de Android Runtime (ART) que incluyen estos cambios. Esto forma parte de nuestro compromiso de brindar a las aplicaciones un entorno más consistente y seguro en todos los dispositivos, y de brindar nuevas funciones y capacidades a los usuarios independientemente de las versiones de la plataforma.
Pruebas y depuración más fácil de los cambios – Para hacer más fácil para ti probar los cambios optativos que pueden afectar a tu aplicación, este año muchos de ellos volverán a ser configurables. Con los interruptores, puedes habilitar o deshabilitar individualmente los cambios desde las opciones de Desarrollador o adb. Echa un vistazo a los detalles aquí.
Opciones de compatibilidad de aplicaciones en las Opciones para desarrolladores |
Hitos de estabilidad de la plataforma – Al igual que el año pasado, te informamos con anticipación sobre nuestro hito de estabilidad de la plataforma para que tengas más tiempo para planificar el trabajo de compatibilidad de la aplicación. En este hito entregaremos las API finales de SDK / NDK y también las API internas y los comportamientos del sistema enfocados en la aplicación. Esperamos alcanzar la estabilidad de la plataforma en junio de 2023 y a partir de ese momento tendrás varias semanas antes del lanzamiento oficial para realizar tus pruebas finales. Los detalles del cronograma de lanzamiento están aquí.
Comience con Android 14
El Developer Preview tiene todo lo que necesita para probar las funciones de Android 14, probar sus aplicaciones y brindarnos sus comentarios. Para probar su aplicación en tabletas y plegables, la manera más fácil de comenzar es utilizar el emulador de Android en una configuración de tableta o plegable en la última versión previa del administrador de SDK de Android Studio. Para los teléfonos, puede comenzar hoy mismo flasheando una imagen de sistema en un dispositivo Pixel 7 Pro, Pixel 7, Pixel 6a, Pixel 6 Pro, Pixel 6, Pixel 5a 5G, Pixel 5 o Pixel 4a (5G). Si no tiene un dispositivo Pixel, puede usar las imágenes de sistema de 64 bits con el emulador de Android en Android Studio.
Para la mejor experiencia de desarrollo con Android 14, recomendamos que utilice la última versión previa de Android Studio Giraffe (o versiones más recientes de Giraffe +). Una vez que esté configurado, aquí hay algunas de las cosas que debería hacer:
Pruebe las nuevas funciones y API, su retroalimentación es crítica durante la primera parte del programa de desarrolladores. Informe de problemas en nuestro seguimiento en la página de retroalimentación.
Pruebe la compatibilidad de su aplicación actual, descubra si su aplicación está afectada por los cambios de comportamiento predeterminados en Android 14; instale su aplicación en un dispositivo o emulador que ejecute Android 14 y pruebe exhaustivamente.
Pruebe su aplicación con los cambios opt-in, Android 14 tiene cambios de comportamiento opt-in que solo afectan su aplicación cuando está dirigida a la nueva plataforma. Es importante comprender y evaluar estos cambios temprano. Para facilitar la prueba, puede activar y desactivar los cambios individualmente.
Actualizaremos regularmente las imágenes de sistema previas y el SDK a lo largo del ciclo de lanzamiento de Android 14. Esta versión inicial de la versión previa es solo para desarrolladores y no está destinada al uso diario o del consumidor, por lo que está disponible solo para descarga manual. Una vez que haya instalado manualmente una construcción previa, recibirá automáticamente actualizaciones futuras por aire para todas las versiones previas y Beta posteriores. Lea más aquí.
Si pretendes pasar del programa Beta QPR de Android 13 al programa Preview de Desarrollador de Android 14 y no quieres tener que borrar tu dispositivo, te recomendamos que te muevas a la Preview de Desarrollador 1 ahora. De lo contrario, es posible que te encuentres con períodos de tiempo en los que la Beta de Android 13 tenga una fecha de construcción más reciente, lo que te impedirá pasar directamente a la Preview de Desarrollador de Android 14 sin hacer un borrado de datos.
A medida que alcancemos nuestras versiones Beta, invitaremos a los consumidores a probar Android 14 también y abriremos la inscripción en el programa Beta de Android en ese momento. Por ahora, ten en cuenta que el programa Beta de Android todavía no está disponible para Android 14.
Para obtener información completa, visite el sitio de desarrolladores de Android 14.