Android 17 alcanzó la versión beta 4, la última versión beta programada de este ciclo de lanzamiento, un hito fundamental para la compatibilidad de las apps y la estabilidad de la plataforma. Ya sea que estés ajustando la experiencia del usuario de tu app, garantizando una renderización fluida de borde a borde o aprovechando las APIs más recientes, la versión Beta 4 proporciona el entorno casi final con el que necesitas realizar las pruebas.
Prepara tus apps, bibliotecas, herramientas y motores de juegos
Si desarrollas un SDK de Android, una biblioteca, una herramienta o un motor de juegos, es fundamental que prepares las actualizaciones necesarias ahora para evitar que los desarrolladores de apps y juegos que dependen de tu producto se vean bloqueados por problemas de compatibilidad y para permitirles que se orienten a las funciones más recientes del SDK. Informa a tus desarrolladores downstream si se necesitan actualizaciones para brindar compatibilidad total con Android 17.
Las pruebas implican instalar tu app de producción o una app de prueba que use tu biblioteca o motor con Google Play o con otros medios en un dispositivo o emulador que ejecute Android 17 Beta 4. Revisa todos los flujos de tu app y busca problemas funcionales o de la IU. Cada versión de Android contiene cambios en la plataforma que mejoran la privacidad, la seguridad y la experiencia general del usuario. Revisa los cambios de comportamiento que afectan a las apps que se ejecutan en y que se orientan a Android 17 para enfocar tus pruebas, incluidos los siguientes:
- Cambio de tamaño en pantallas grandes: Una vez que establezcas Android 17 como versión de SDK objetivo, ya no podrás inhabilitar el mantenimiento de las restricciones de orientación, cambio de tamaño y relación de aspecto en pantallas grandes.
- Carga dinámica de código: Si tu app se orienta a Android 17 o versiones posteriores, la protección de carga dinámica de código (DCL) más segura introducida en Android 14 para archivos DEX y JAR ahora se extiende a las bibliotecas nativas. Todos los archivos nativos que se carguen con System.load() se deben marcar como de solo lectura. De lo contrario, el sistema arrojará UnsatisfiedLinkError.
- Habilitar CT de forma predeterminada: La transparencia de certificados (CT) está habilitada de forma predeterminada. (En Android 16, la CT está disponible, pero las apps debían habilitarla).
- Protecciones de red local: Las apps orientadas a Android 17 o versiones posteriores tienen bloqueado el acceso a la red local de forma predeterminada. Si es posible, cambia a selectores que preserven la privacidad y usa el nuevo permiso ACCESS_LOCAL_NETWORK para obtener un acceso amplio y persistente.
- Refuerzo del audio en segundo plano: A partir de Android 17, el framework de audio aplica restricciones a las interacciones de audio en segundo plano, incluidas la reproducción de audio, las solicitudes de foco de audio y las APIs de cambio de volumen. En función de tus comentarios, realizamos algunos cambios desde la versión beta 2, como la restricción de targetSDK para la aplicación de FGS mientras está en uso y la exención del audio de alarma. Todos los detalles están disponibles en la guía actualizada.
Límites a la memoria de las apps
Android presenta límites de memoria para las apps en función de la RAM total del dispositivo con el objetivo de crear un entorno más estable y determinístico para tus aplicaciones y los usuarios de Android. En Android 17, los límites se establecen de forma conservadora para establecer valores de referencia del sistema, lo que permite detectar fugas de memoria extremas y otros valores atípicos antes de que provoquen inestabilidad en todo el sistema, lo que genera interrupciones en la IU, un mayor agotamiento de la batería y el cierre de apps. Si bien prevemos un impacto mínimo en la gran mayoría de las sesiones de la app, recomendamos las siguientes prácticas recomendadas para la memoria, incluido el establecimiento de un modelo de referencia para la memoria.
En la implementación actual, getDescription en ApplicationExitInfo contendrá la cadena "MemoryLimiter" si tu app se vio afectada. También puedes usar la creación de perfiles basada en activadores con TRIGGER_TYPE_ANOMALY para obtener volcados de montón que se recopilan cuando se alcanza el límite de memoria.
Para ayudarte a encontrar fugas de memoria, Android Studio Panda agrega la integración de LeakCanary directamente en el Generador de perfiles de Android Studio como una tarea dedicada, contextualizada en el IDE y completamente integrada en tu código fuente.
Un espacio en memoria más ligero se traduce directamente en un rendimiento más fluido, una mayor duración de batería y una experiencia premium en todos los factores de forma. ¡Construyamos juntos un futuro más rápido y confiable para el ecosistema Android!
Activadores de generación de perfiles para anomalías de la app
Android presenta un servicio de detección de anomalías integrado en el dispositivo que supervisa los comportamientos que consumen muchos recursos y las posibles regresiones de compatibilidad. Integrado con ProfilingManager, este servicio permite que tu app reciba artefactos de generación de perfiles activados por eventos específicos detectados por el sistema.
Usa el activador TRIGGER_TYPE_ANOMALY para detectar problemas de rendimiento del sistema, como llamadas excesivas de Binder y uso excesivo de memoria. Cuando una app supera los límites de memoria definidos por el SO, el activador de anomalías permite que los desarrolladores reciban volcados de montón específicos de la app para ayudar a identificar y corregir problemas de memoria. Además, en el caso de spam excesivo de Binder, el activador de anomalías proporciona un perfil de muestreo de pila en las transacciones de Binder.
Esta devolución de llamada de la API se produce antes de que se apliquen las medidas por incumplimiento que impone el sistema. Por ejemplo, puede ayudar a los desarrolladores a recopilar datos de depuración antes de que el sistema finalice la app debido a que se excedieron los límites de memoria. Para comprender cómo usar el activador, consulta nuestra documentación sobre generación de perfiles basada en activadores.
val profilingManager = applicationContext.getSystemService(ProfilingManager::class.java) val triggers = ArrayList<ProfilingTrigger>() triggers.add(ProfilingTrigger.Builder( ProfilingTrigger.TRIGGER_TYPE_ANOMALY)) val mainExecutor: Executor = Executors.newSingleThreadExecutor() val resultCallback = Consumer<ProfilingResult> { profilingResult -> if (profilingResult.errorCode != ProfilingResult.ERROR_NONE) { // upload profile result to server for further analysis setupProfileUploadWorker(profilingResult.resultFilePath) } profilingManager.registerForAllProfilingResults(mainExecutor, resultCallback) profilingManager.addProfilingTriggers(triggers) }
Criptografía poscuántica (PQC) en Android Keystore
Android Keystore agregó compatibilidad con el estándar del NIST ML-DSA (algoritmo de firma digital basado en retículos de módulos). En los dispositivos compatibles, puedes generar claves de ML-DSA y usarlas para producir firmas resistentes a ataques cuánticos, todo en el hardware seguro del dispositivo. El almacén de claves de Android expone las variantes de algoritmo ML-DSA-65 y ML-DSA-87 a través de las APIs estándar de la arquitectura criptográfica de Java: KeyPairGenerator, KeyFactory y Signature. Para obtener más detalles, consulta nuestra documentación para desarrolladores.
KeyPairGenerator generator = KeyPairGenerator.getInstance( “ML-DSA-65”, "AndroidKeyStore"); generator.initialize( new KeyGenParameterSpec.Builder( “my-key-alias”, KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY) .build()); KeyPair keyPair = generator.generateKeyPair();
Comienza a usar Android 17
Puedes inscribir cualquier dispositivo Pixel compatible para obtener esta y las futuras actualizaciones de la versión beta de Android de forma inalámbrica. Si no tienes un dispositivo Pixel, puedes usar las imágenes del sistema de 64 bits con Android Emulator en Android Studio.
Si actualmente participas en el programa de versiones beta de Android, recibirás una actualización inalámbrica a la versión beta 4.
Sigue informando problemas y enviando solicitudes de funciones en la página de comentarios. Cuanto antes recibamos tus comentarios, más podremos incluir en nuestro trabajo para la versión final.
Para obtener la mejor experiencia de desarrollo con Android 17, te recomendamos que uses la versión preliminar más reciente de Android Studio (Panda). Una vez que hayas completado la configuración, te recomendamos que hagas lo siguiente:
- Compila con el SDK nuevo, realiza pruebas en entornos de CI y, si encuentras algún problema, infórmalo en nuestra herramienta de seguimiento en la página de comentarios.
- Prueba la compatibilidad de tu app actual, averigua si se ve afectada por los cambios en Android 17, instálala en un dispositivo o emulador que ejecute Android 17 y pruébala de forma exhaustiva.
Actualizaremos las imágenes del sistema de la versión preliminar o beta y el SDK con regularidad durante el ciclo de lanzamiento de Android 17. Una vez que hayas instalado una compilación de la versión beta, recibirás automáticamente las actualizaciones inalámbricas futuras de todas las versiones preliminares y betas posteriores.
Para obtener información completa, visita el sitio para desarrolladores de Android 17.
Únete a la conversación
Tus comentarios siguen siendo nuestro recurso más valioso. Ya sea que seas un usuario pionero en el canal Canary o un desarrollador de apps que realiza pruebas en la versión Beta 4, considera unirte a nuestras comunidades y enviar comentarios. Queremos saber tu opinión.
-
Novedades de productosLas apps que se orienten a la próxima versión de Android ya no podrán escribir directamente en los contactos con el permiso WRITE_CONTACTS.
Roxanna Aliabadi Walker • Lectura de 6 min -
Novedades de productosA medida que se acelera el desarrollo basado en agentes, la ingeniería de Android alcanza una nueva y emocionante frontera: pasar de la finalización de código asistida a agentes que ejecutan tareas de extremo a extremo bajo tu dirección. Tienes total libertad y flexibilidad para elegir los modelos y agentes que usas.
Jason Buchel • Lectura de 3 min -
Novedades de productosHoy, compartimos cómo estamos llevando nuestra visión de “más que una tienda” al siguiente nivel. Desde la pestaña Tú, que ahora es la base personal de más de 250 millones de usuarios activos por mes, hasta nuestra plataforma de juegos unificada que conecta a más de 700 millones de perfiles de gamer, Google Play llega a los usuarios dondequiera que estén.
Paul Feng • Lectura de 3 min
Recibe la información más reciente sobre el desarrollo de Android en tu bandeja de entrada todas las semanas.