Una revolución en las ROM personalizadas: cómo Project Treble hace que portar Android Oreo sea un trabajo de 1 día

Los foros han sido la reunión central del desarrollo de ROM personalizado durante años. Gracias al arduo trabajo de los desarrolladores en nuestros foros, muchos teléfonos inteligentes Android más antiguos se mantienen vivos mediante ROMS personalizadas, a veces años después de que el fabricante de dispositivos abandonó los dispositivos. Aunque la mayoría de los fabricantes lanzan métodos de desbloqueo del cargador de arranque en estos días, los retrasos frecuentes en las versiones de origen del núcleo han sofocado el desarrollo de ROM personalizado en muchos teléfonos inteligentes. Sin embargo, eso puede cambiar pronto, gracias a algo llamado "Project Treble", que se anunció cerca del lanzamiento de Android Oreo. Gracias a Project Treble, el tiempo que lleva portar una ROM AOSP a un dispositivo ya no debería llevar semanas o meses, sino que solo debería llevar días .

Para aquellos de ustedes que han seguido la escena ROM personalizada durante años, es posible que ya sepan cuán importante es esta noticia. El reconocido desarrollador OldDroid llamó a esta revelación un " avance " en el desarrollo personalizado de ROM AOSP. Gracias al soporte de Project Treble, por ejemplo, pude arrancar una ROM Oreo Android 8.0 casi completamente funcional en el Huawei Mate 9, un dispositivo que hasta ahora ni siquiera había visto una sola ROM AOSP Android Nougat .

Es posible que pronto veamos una revolución en el desarrollo de ROM personalizados gracias a los esfuerzos iniciales de desarrollo en este frente por parte del Miembro Senior phhusson. Después de 20 horas de trabajo investigando, desarrollando y depurando conmigo, phhusson creó una imagen del sistema que puede iniciarse en múltiples dispositivos de diferentes fabricantes y con SoC completamente diferentes . Por ejemplo, la misma imagen del sistema que arranqué en mi propio Huawei Mate 9 también arranca en el Honor 8 Pro, Honor 9, Sony Xperia XZ1 Compact y el teléfono Essential. Son 3 OEM diferentes (Huawei / Honor, Sony y Essential) y 2 SoC diferentes (HiSilicon Kirin 960 y Qualcomm Snapdragon 835) donde esta imagen de sistema único puede arrancar con éxito.

Es posible que en el futuro, podamos ver una sola imagen del sistema que pueda funcionar en docenas de diferentes teléfonos inteligentes con Android, al igual que Microsoft Windows puede ejecutarse en casi cualquier hardware de computadora. Para alentar un mayor desarrollo en este frente, hemos abierto un nuevo foro dedicado a los dispositivos habilitados para Project Treble . El foro está dirigido a desarrolladores en este momento, por lo que debe abstenerse de comenzar un nuevo hilo a menos que esté interesado en contribuir al desarrollo. Si desea ayudar a probar imágenes de sistema compatibles con Treble, no dude en dejar comentarios en los hilos existentes.

Únase al Foro de Desarrollo de Proyecto Treble

Dada la importancia de este desarrollo y la complejidad del tema, pensé que abordaría este artículo de manera un poco diferente a los demás. Repasaré una lista de viñetas que explicará algunas preguntas comunes que las personas podrían tener y también señalaré hechos clave con respecto a este último desarrollo.


¿Qué es el proyecto Treble?

Créditos: Google

El proyecto Treble se describe más comúnmente como un intento de Google de modularizar el marco del sistema operativo Android para separar el código específico del proveedor. Analicemos un poco más las cosas:

  • El proceso completo de actualización para llevar una nueva versión de Android a los dispositivos es un tema largo y complejo, pero Sony ha hecho un gran trabajo con esta infografía que describe los pasos básicos.
  • El "vendedor" generalmente se refiere a fabricantes de silicio como Qualcomm, pero también puede referirse al fabricante de cualquier otro hardware patentado que se encuentre en un dispositivo. El "fabricante de dispositivos" u "OEM" generalmente necesita esperar a que el proveedor actualice su código para que el hardware propietario funcione con el marco del sistema operativo Android en una versión más reciente de Android.
  • Sin embargo, lo que sucede con Project Treble es que Google requiere que cualquier código específico del proveedor se separe del marco del sistema operativo Android y, en su lugar, viva en su propia implementación de proveedor. Por lo general, esto significa que ahora hay una partición separada / de proveedor en los teléfonos inteligentes habilitados para Treble que contiene un montón de HAL (capas de abstracción de hardware).
  • Además, los proveedores deben implementar código que permita que el marco del sistema operativo Android se comunique con los HAL de manera estandarizada. Esto se realiza a través de HIDL (lenguaje de definición de interfaz HAL). Con esto en su lugar, un OEM puede trabajar en una actualización de Android sin tener que esperar a que los proveedores actualicen sus HAL. Teóricamente, esto debería acelerar todo el proceso de actualización de Android ya que los proveedores pueden actualizar su código en cualquier momento a través de Play Store, por ejemplo.
  • Para ayudar a comprender qué es un HAL y cómo se relaciona con Android, consideremos una analogía. Imagina un auto. El volante y los frenos son el HAL, mientras que el controlador es el marco del sistema operativo Android. El conductor (Android) mueve el volante y presiona los frenos (el HAL) para controlar el movimiento del automóvil (el hardware).
  • Ahora imagine si viviéramos en un mundo donde cada fabricante de automóviles decidiera diseñar sus volantes o reorganizar sus frenos de una manera completamente diferente. Si pones a un conductor en un auto nuevo, pueden confundirse con cómo manejar inicialmente el vehículo. Pero gracias a los estándares, cada conductor debe estar familiarizado con la forma de operar el volante y los frenos en casi cualquier automóvil. Además, la escuela de manejo enseña a todos los conductores la forma correcta de operar un vehículo. En esta analogía, los estándares del vehículo son Project Treble y la escuela de manejo es HIDL.

Android Oreo en el Honor 8 Pro. Créditos: Reconocido desarrollador OldDroid

¿Qué dispositivos recibirán soporte para Project Treble?

  • Todos los dispositivos que se inician con Android 8.0 Oreo o superior deben ser totalmente compatibles con Project Treble.
  • No se requiere que todos los dispositivos que se actualicen a Android 8.0 Oreo sean totalmente compatibles con Project Treble.
  • Los dispositivos que tienen actualizaciones (versiones oficiales o versiones beta cerradas) para Android 8.0 Oreo y admiten Treble incluyen lo siguiente:
    • Google Pixel
    • Google Pixel XL
    • Huawei Mate 9
    • Honor 8 Pro
    • Honor 9
    • Teléfono esencial
  • Es poco probable que algún dispositivo reciba de forma no oficial el soporte de Project Treble a través del desarrollo de ROM personalizado. Los HAL no son de código abierto después de todo.

¿Por qué es tan importante Project Treble para las ROM de AOSP?

  • Para garantizar que el código del proveedor esté separado adecuadamente del marco del sistema operativo Android de la manera que requiere Project Treble, Google ha configurado un Vendor Test Suite (VTS) que los dispositivos deben pasar para que Google los certifique. La certificación de Google es importante porque sin ella no se permite enviar un dispositivo con aplicaciones y servicios de Google Play preinstalados.
  • Uno de los requisitos en el VTS es que un dispositivo habilitado para Treble debe poder iniciar una compilación de AOSP genérica y sin procesar. Debido a este requisito, los fabricantes de equipos originales deben enviar dispositivos que puedan iniciar AOSP sin ningún problema.
  • Aunque la ROM exacta que Google usa y comparte con los OEM para VTS no es pública, el Miembro Senior phhusson pudo descubrir cómo recrear esta ROM desde la fuente.
  • Por lo tanto, ahora tenemos una ROM AOSP en funcionamiento que se garantiza que se puede iniciar en dispositivos Project Treble . La mayoría del trabajo ya fue realizado por fabricantes de equipos originales y proveedores, por lo que los desarrolladores independientes en nuestros foros ya no tienen que meterse con el código fuente del kernel o la piratería de HAL. En teoría, una ROM AOSP debería "simplemente funcionar", lo que hemos demostrado ser básicamente cierto en los dispositivos que hemos probado.
  • Por el momento, la compatibilidad no es del 100% con todos los dispositivos en los que se puede iniciar la imagen del sistema. También hay algunas condiciones de carrera que deben ser resueltas. Sin embargo, Project Treble reduce significativamente la cantidad de trabajo de desarrollo que se necesita para portar ROM AOSP en dispositivos que no son de Google. Con la colaboración de más desarrolladores en nuestro foro de Project Treble, esperamos ver que el desarrollo de dispositivos Treble sea de gran utilidad.

¿Cómo pruebo Android Oreo en mi dispositivo ahora?

Si eres realmente aventurero y quieres probar una de estas versiones de Project Treble en tu teléfono ahora mismo, phhusson tiene las imágenes del sistema que necesitas descargar en su hilo en nuestro foro de Project Treble. Sin embargo, hay algunas cosas que debe tener en cuenta:

  • Necesitará un gestor de arranque desbloqueado y deberá estar familiarizado con el uso de comandos fastboot para flashear imágenes.
  • Su dispositivo ya debe estar ejecutando Android Oreo . Estas imágenes del sistema no "actualizan" su dispositivo. Si está ejecutando uno de los dispositivos Huawei / Honor mencionados en este artículo, puede buscar una guía en nuestros foros o utilizar el servicio FunkyHuawei.club para actualizar de manera no oficial su teléfono a una de las versiones beta de Oreo cerradas.
  • Debe estar dispuesto a perder datos o actualizar imágenes de fábrica durante las pruebas. La mejor manera de asegurarse de que este arranque es borrar la partición de datos de usuario, que incluye borrar todo el contenido de su almacenamiento interno. Por supuesto, puede hacer copias de seguridad y transferirlas una vez que haya terminado.
  • Estas compilaciones de AOSP no están pensadas para usarse como controladores diarios. Son extremadamente simples y no ofrecen muchas funciones o aplicaciones preinstaladas. Tendrá que actualizar las aplicaciones de Google usted mismo. Tendrá que ingresar manualmente la configuración APN de su proveedor para que los datos móviles funcionen (si funciona). Las cosas estarán mal hasta que se presenten más esfuerzos de desarrollo.

Conclusión

Google no estaba bromeando cuando dijeron que Project Treble fue quizás uno de los mayores cambios en la forma en que funciona Android. Podemos ver por nosotros mismos, aquí y ahora, cuánto impacto puede tener. Los agudos podrían ser el impulso que la comunidad de desarrollo necesita para revitalizar la escena ROM personalizada. Me llevó menos de 1 día arrancar una ROM AOSP casi completamente funcional en el Huawei Mate 9. Estoy emocionado de ver el trabajo que se hará para otros dispositivos habilitados para Treble.