Rovo89: Mise à jour sur le développement de Xposed pour Nougat

Le développeur de Xposed, Rovo89, a fourni un aperçu de l'état actuel de Xposed pour Nougat. Rendez-vous pour savoir pourquoi la mise à jour prend autant de temps !

La raison pour laquelle je continue personnellement à utiliser Android 6.0 Marshmallow sur mon OnePlus3, malgré OnePlus lance la mise à jour Nougat pour le téléphone aux canaux stables, c'est la présence de Xposed. Le framework Xposed et l'écosystème de modules constituent une partie cruciale de l'expérience Android que je préfère -- au point où je suis prêt à renoncer à la dernière mise à jour du système d'exploitation de l'OEM juste pour savourer ce bonbon fruit.

Même si Xposed for Nougat met du temps à arriver et que certains d'entre nous n'hésitent pas à attendre plus longtemps, il ça faisait un moment depuis que nous avons eu des nouvelles de l'avancement du projet.

Développeur senior reconnu XDA rovo89 a pris du temps pour informez nous sur la situation actuelle concernant le projet Xposed for Nougat :

"Il semble que de plus en plus de gens s'inquiètent de savoir si (et quand) il y aura ou non Xposed for Nougat, alors j'ai pensé que je devais dire quelque chose.

Pourquoi cela prend-il autant de temps? Parce qu'à chaque version, j'essaie de m'assurer que Xposed s'intègre bien aux améliorations de la nouvelle version ART. Le pas de Lollipop à Marshmallow n’était pas énorme. C'était une évolution, certaines choses permettaient même d'intégrer Xposed de manière plus élégante. Dans l’ensemble, il s’agissait plutôt d’un portage soigné que plutôt innovant.

Avec Nougat, quelque chose de fondamental a changé. Si vous utilisez déjà Nougat, vous aurez remarqué que les installations sont désormais beaucoup plus rapides. En effet, les APK ne sont pas compilés immédiatement (AOT), mais démarrent en mode d'interprétation (plus lent). Cela semble mauvais, mais ils ont activé JIT, qui compilera rapidement les méthodes très souvent utilisées. Cela restaurera les performances bien connues et en constante amélioration du code natif. ART tient par ailleurs une liste de ces méthodes fréquemment utilisées (« profilage »). Lorsque l'appareil est inactif, il effectue finalement la compilation AOT, mais sur la base des données de profilage. Après cela, vous obtenez d'excellentes performances juste après le démarrage de l'application. JIT attend toujours au cas où les modèles d'utilisation changeraient, et je pense qu'il ajustera également le profil et améliorera la compilation AOT.

Cela entraîne différents états de compilation et plus de complexité. En plus de cela, il y avait de nombreux problèmes dans le passé causés par la nécessité pour Xposed de recompiler la ROM entière et toutes les applications: cela provoquait parfois des boucles de démarrage lorsque les fichiers odex étaient trop pré-optimisé, il bloquait pas mal d'espace de stockage pour stocker les fichiers recompilés, et j'avais besoin de désactiver certaines optimisations comme l'inline et le pointeur direct appels. J'espère pouvoir utiliser le compilateur JIT pour éviter cela dans Nougat. Si Xposed savait d'où une méthode est appelée, cela pourrait invalider le code compilé des appelants, afin qu'ils utilisent temporairement l'interpréteur. S'ils sont suffisamment importants, JIT les recompilera.

J'ai déjà fait beaucoup de recherches et d'expériences à ce sujet et j'essaie actuellement de le mettre en œuvre. Mais comme vous pouvez l'imaginer, tout cela demande beaucoup d'efforts et peut facilement prendre des centaines d'heures..."

Le principal problème, comme c'est généralement le cas dans les projets amateurs, est la répartition du temps, et nous comprenons d'où vient rovo89. Même dans l'état actuel du projet Xposed, il comprend des mois d'efforts de la part de divers développeurs pour permettre à l'utilisateur final d'en profiter d'une manière aussi simple et distribuable.

Comme on dit, Rome ne s’est pas construite en un jour, mais les briques ont été posées toutes les heures :

Alors oui, je travaille toujours sur le support Nougat, chaque fois que mon temps libre le permet, mais je n'ai aucune idée de quand cela sera fait. Une fois que ce sera fait, vous le saurez.

Android n'est pas parfait et Xposed est ce qui nous permet de corriger ce que le développeur d'origine ne fera pas. L'attente du correctif ultime pour Android se poursuit sur le système d'exploitation le plus récent, et nous souhaitons à rovo89 la meilleure des chances de notre part.

Vous pouvez lire la déclaration complète dans le message du forum. Attendez-vous aussi Xposed? Faites le nous savoir dans les commentaires!