Une révolution dans les ROM personnalisées: comment Project Treble fait du portage d'Android Oreo un travail d'un jour

Les forums constituent depuis des années le lieu central du développement de ROM sur mesure. C’est grâce au travail ardu des développeurs de nos forums que de nombreux anciens smartphones Android sont conservés en vie par des ROM personnalisées, parfois des années après l’abandon des appareils par le fabricant. Bien que la plupart des fabricants publient actuellement des méthodes de déverrouillage du chargeur de démarrage, les retards fréquents dans les versions des sources du noyau ont étouffé le développement de ROM personnalisées sur de nombreux smartphones. Cela pourrait toutefois bientôt changer grâce à quelque chose appelé «Project Treble» annoncé près de la sortie d'Android Oreo. Grâce à Project Treble, le temps nécessaire pour porter une ROM AOSP sur un périphérique ne devrait plus prendre plus de semaines ou de mois, mais seulement quelques jours .

Pour ceux d'entre vous qui ont suivi la scène ROM personnalisée pendant des années, vous êtes peut-être déjà au courant de l'importance de cette nouvelle. Un développeur reconnu, OldDroid, a qualifié cette révélation de " percée " dans le développement personnalisé de ROM AOSP. Grâce au support de Project Treble, par exemple, j'ai pu démarrer une ROM Android Oreo Android 8.0 presque entièrement fonctionnelle sur le Huawei Mate 9 - un appareil qui, jusqu'à présent, n'avait même pas vu une seule ROM AOSP Android Nougat ROM.

Nous verrons peut-être bientôt une révolution dans le développement de ROM sur mesure grâce aux efforts de développement initiaux sur ce front déployés par le membre senior phhusson. Après 20 heures de travail de recherche, de développement et de débogage avec moi, Phhusson a créé une image système qui peut être démarrée sur plusieurs périphériques de différents fabricants et avec des systèmes de type de puce complètement différents . Par exemple, la même image système que j'ai démarrée sur mon propre Huawei Mate 9 démarre également sur les Honor 8 Pro, Honor 9, Sony Xperia XZ1 Compact et Essential Phone. Il s'agit de 3 OEM différents (Huawei / Honor, Sony et Essential) et de 2 SoC différents (HiSilicon Kirin 960 et Qualcomm Snapdragon 835) où cette image système unique peut démarrer avec succès.

Il est possible qu'à l'avenir, une seule image système puisse fonctionner sur des dizaines de smartphones Android différents, un peu comme Microsoft Windows peut s'exécuter sur presque tout le matériel informatique. Afin d'encourager plus de développement sur ce front, nous avons ouvert un nouveau forum dédié aux appareils compatibles avec Project Treble . Le forum est destiné aux développeurs en ce moment, alors évitez de commencer un nouveau fil de discussion à moins que vous ne souhaitiez contribuer au développement. Si vous souhaitez aider à tester des images système compatibles Treble, n'hésitez pas à laisser des commentaires sur les threads existants.

Rejoignez le forum de développement du projet Treble

Compte tenu de l'importance de ce développement et de la complexité du sujet, j'ai pensé aborder cet article un peu différemment des autres. Je vais passer en revue une liste de points pour expliquer certaines questions courantes que les gens pourraient avoir, ainsi que pour souligner les faits essentiels concernant ce dernier développement.


Qu'est-ce que le projet Treble?

Crédits: Google

Le projet Treble est le plus souvent décrit comme une tentative de Google de modulariser le cadre du système d'exploitation Android pour séparer le code spécifique au fournisseur. Décomposons un peu plus les choses:

  • Le processus de mise à jour complète pour intégrer une nouvelle version d'Android sur les appareils est un sujet long et complexe, mais Sony a fait un excellent travail avec cette infographie qui décrit les étapes de base.
  • Le «fournisseur» fait généralement référence à des fabricants de silicium tels que Qualcomm, mais peut également faire référence au fabricant de tout autre matériel exclusif contenu dans un périphérique. Le «fabricant de l'appareil» ou «OEM» doit généralement attendre que le fournisseur mette à jour son code pour que le matériel propriétaire fonctionne avec la structure Android OS dans une version plus récente d'Android.
  • Cependant, ce qui se passe avec Project Treble, c’est que Google exige que tout code spécifique au fournisseur soit séparé du cadre du système d’exploitation Android et qu’il vive à la place de sa propre implémentation. Cela signifie généralement qu'il existe désormais une partition distincte / fournisseur sur les smartphones dotés de la technologie Treble, qui contient un ensemble de couches d'abstraction matérielle (HAL).
  • En outre, les fournisseurs doivent implémenter un code permettant à la structure Android OS de communiquer avec les HAL de manière normalisée. Cela se fait via HIDL (HAL Interface Definition Language). Grâce à cela, un OEM peut travailler sur une mise à jour Android sans avoir à attendre que les fournisseurs mettent à jour leurs HAL. En théorie, cela devrait accélérer l'ensemble du processus de mise à jour Android, car les fournisseurs peuvent mettre à jour leur code à tout moment via le Play Store, par exemple.
  • Pour aider à comprendre ce qu'est une couche HAL et son lien avec Android, considérons une analogie. Imaginez une voiture. Le volant et les freins sont la HAL tandis que le conducteur est le cadre Android OS. Le conducteur (Android) déplace le volant et appuie sur les freins (HAL) afin de contrôler le mouvement de la voiture (le matériel).
  • Maintenant, imaginons que nous vivions dans un monde où chaque constructeur automobile décidait de concevoir son volant ou de réorganiser ses freins de manière complètement différente. Si vous placez un conducteur dans une nouvelle voiture, vous risquez de ne pas savoir comment gérer le véhicule dans un premier temps. Mais grâce aux normes, chaque conducteur devrait savoir comment utiliser un volant et des freins sur presque toutes les voitures. De plus, l’école de conduite enseigne à tous les conducteurs la bonne façon de conduire un véhicule. Dans cette analogie, les normes de véhicules sont Project Treble et l’auto-école HIDL.

Android Oreo sur le Honor 8 Pro. Crédits: Développeur reconnu OldDroid

Quels appareils recevront le support de Project Treble?

  • Tous les appareils lancés avec Android 8.0 Oreo ou une version ultérieure doivent entièrement prendre en charge Project Treble.
  • Tous les appareils qui passent à Android 8.0 Oreo ne sont pas obligés de prendre totalement en charge Project Treble.
  • Les appareils dotés de mises à jour (versions officielles ou bêta fermées) d'Android 8.0 Oreo et prenant en charge Treble sont les suivants:
    • Google Pixel
    • Google Pixel XL
    • Huawei Mate 9
    • Honor 8 Pro
    • Honneur 9
    • Téléphone essentiel
  • Il est peu probable qu'un périphérique reçoive de manière non officielle la prise en charge de Project Treble via le développement de ROM personnalisé. Les HAL ne sont pas open source après tout.

Pourquoi le projet Treble est-il si important pour les ROM AOSP?

  • Pour s'assurer que le code du fournisseur est correctement séparé du cadre du système d'exploitation Android conformément aux exigences de Project Treble, Google a mis en place une suite de tests de fournisseur (VTS) que les appareils doivent transmettre pour être certifiés par Google. La certification Google est importante car sans cet appareil, les applications et services Google Play préinstallés ne sont pas autorisés à être livrés.
  • L'une des conditions requises dans le VTS est qu'un périphérique activé pour Treble doit pouvoir démarrer une version brute et générique d'AOSP. En raison de cette exigence, les constructeurs OEM doivent expédier des périphériques capables de démarrer AOSP sans aucun problème.
  • Bien que la mémoire ROM exacte que Google utilise et partage avec les équipementiers pour VTS ne soit pas publique, phhusson, membre senior, a été en mesure de trouver le moyen de recréer cette ROM à partir de la source.
  • Ainsi, nous disposons maintenant d’une ROM AOSP en état de fonctionnement dont l’amorçage est garanti sur les périphériques Project Treble . La plupart du travail a déjà été effectué par des constructeurs et des équipementiers. Par conséquent, les développeurs indépendants de nos forums ne doivent plus s'occuper du code source du noyau ou du piratage HAL. En théorie, une ROM AOSP devrait «fonctionner correctement», ce que nous avons montré comme étant fondamentalement vrai pour les périphériques que nous avons testés.
  • Pour le moment, la compatibilité n'est pas complète avec tous les périphériques sur lesquels l'image système peut être démarrée. Il faut aussi déterminer certaines conditions de course. Cependant, Project Treble réduit considérablement la quantité de travail de développement nécessaire pour porter des ROM AOSP sur des appareils autres que Google. Avec la collaboration de plus de développeurs dans notre forum Project Treble, nous espérons voir le développement d’appareils Treble aller loin.

Comment puis-je essayer Android Oreo sur mon appareil maintenant?

Si vous êtes vraiment aventureux et que vous souhaitez essayer l'une de ces versions de Project Treble sur votre téléphone, phhusson dispose des images du système que vous devez télécharger sur son fil de discussion sur notre forum Project Treble. Il y a cependant quelques points à garder à l'esprit:

  • Vous aurez besoin d'un chargeur de démarrage non verrouillé et devez être familiarisé avec l'utilisation des commandes fastboot pour créer des images flash.
  • Votre appareil doit déjà exécuter Android Oreo . Ces images système ne «mettent pas à niveau» votre appareil. Si vous utilisez l'un des appareils Huawei / Honor mentionnés dans cet article, vous pouvez vous renseigner sur nos forums ou utiliser le service FunkyHuawei.club pour mettre à jour de manière non officielle votre téléphone vers l'une des versions bêta d'Oreo fermées.
  • Vous devez être disposé à perdre des données ou à reflasher des images d'usine lors des tests. Le meilleur moyen de s’assurer que cela démarre est d’effacer la partition userdata, ce qui inclut l’effacement de tout le contenu de votre stockage interne. Bien sûr, vous pouvez faire des sauvegardes et les transférer une fois que vous avez terminé.
  • Ces constructions AOSP ne sont actuellement pas destinées à être utilisées comme pilotes quotidiens. Ils sont extrêmement nus et n'offrent pas beaucoup de fonctionnalités ou d'applications pré-installées. Vous devrez flasher Google Apps vous-même. Vous devrez saisir manuellement les paramètres APN de votre opérateur pour que les données mobiles fonctionnent (si cela fonctionne). Les choses vont être gênantes jusqu'à ce que plus d'effort de développement soit mis en avant.

Conclusion

Google ne rigolait pas en affirmant que Project Treble était peut-être l’un des plus grands changements jamais intervenus dans le fonctionnement d’Android. Nous pouvons constater par nous-mêmes, ici et maintenant, à quel point cela peut avoir un impact. Treble pourrait être l’impulsion dont la communauté de développement a besoin pour revitaliser la scène ROM personnalisée. Il a fallu moins de 1 jour pour démarrer une ROM AOSP presque entièrement fonctionnelle sur le Huawei Mate 9. Je suis ravi de voir le travail qui sera effectué pour d'autres appareils compatibles Treble.