Et si les constructeurs pouvaient mettre à jour Android sans l'adapter à chaque appareil ? C'est ce que propose Google avec son Project Treble, censé séparer le système mobile des couches bas niveau spécifiques à chaque terminal. De quoi accélérer, en théorie, l'expansion des nouvelles versions à partir d'Android O.
La promesse est presque aussi vieille qu'Android. Google a publié un billet de blog pour présenter Project Treble, une initiative pour (encore) accélérer les mises à jour d'Android. Introduit avec Android O, prévu pour cet été, le projet consiste à séparer le système Android des modifications propres à chaque appareil, pour améliorer le système sans le réadapter systématiquement aux terminaux.
Disponible depuis août 2016, Android Nougat n'est présent que sur 7,1 % des terminaux Android. La raison ? Google considère que le passage d'un appareil à chaque version majeure est « très coûteux et chronophage » pour les constructeurs. Pour remédier à cette situation, Project Treble est présenté comme la modification du fonctionnement bas niveau d'Android « la plus important jamais réalisée ». Pourtant, le système s'est déjà bien modularisé au fil des années.
Une interface pour les lier tous
Le cycle de mise à jour d'un appareil sous Android est long, de l'aveu même de Google. Pour référence, certains constructeurs promettent une transposition des nouvelles versions sous trois mois, ce qui est présenté comme un cycle rapide. Il faut dire que les étapes sont nombreuses : une fois la version open source d'Android (AOSP) diffusée, les fabricants de puces l'adaptent à leur matériel, avant de transmettre la version revue aux fabricants de terminaux.
Ceux-ci modifient cette version pour chaque terminal, notamment pour intégrer les fonctions maison. Elles les testent ensuite avec les opérateurs, ajoutant éventuellement des applications, avant de diffuser la mise à jour. Une tanée pour toute la filière, censée répéter l'opération au moins tous les ans.

Google veut donc reprendre le modèle des applications, compatibles avec l'ensemble des appareils via une base de code unique. L'idée : séparer l'implémentation du fabricant (ce qui est conçu spécifiquement pour les puces) du framework système d'Android. Pour cela, l'entreprise introduit une « interface constructeur » pour lier les deux, avec une Vendor Test Suite (VTS).
Cela doit permettre de mettre à jour le système sans toucher à l'implémentation spécifique à chaque constructeur. La partie propre à chaque objet, qui ne bouge pas, interagit avec la nouvelle version du système via « l'interface constructeur », qui s'arrange pour assurer la compatibilité avec la nouvelle version d'Android.
Un système déjà modularisé
Il ne s'agit pas du premier effort de Google en termes de modularité. Une part importante des composants étant déjà mis à jour sans changer de version du système. Les applications (propriétaires) de Google, l'écran d'accueil, la WebView système ou encore l'application SMS évoluent de leur côté, sans requérir de modification du système.
Malgré le Project Treble, il reste une épine importante dans le pied de Google : les modifications spécifiques à Android pour chaque appareil ou opérateur. Le groupe de Mountain View envisage d'intégrer ces modifications directement dans l'Android Open Source Project, travaillant sur la question avec les acteurs du marché.
En novembre, la documentation pour constructeurs faisait déjà mention d'Android Extensions. Celles-ci pourraient permettre de mettre à jour individuellement certaines briques du système, sans passer par une révision complète d'Android.
Le groupe prend l'exemple de Qualcomm et Sony qui ont intégré directement des patchs maison à l'AOSP, pour ne pas avoir à les adapter à chaque nouvelle version du système. Il publie déjà les préversions de l'OS avec plusieurs mois d'avance, pour accélérer le travail des partenaires.
Project Treble doit apparaître sur les futurs appareils, livrés sous Android O. Il est déjà en place sur les téléphones Pixel disposant de la nouvelle version du système. La documentation complète doit être publiée à la sortie de la prochaine version majeure, prévue sur l'été.
Espérons maintenant que ce projet aboutisse sur du concret, pas comme les (nombreuses) tentatives passées.