Le phénomène Xposed, ou le pourquoi être Root

Par franck_29 - Le 6/12/13 - Affichages : 12065

Souvenez vous, quelques jours après sa sortie, nous avions immédiatement relayé une information d'XDA sur la disponibilité d'une nouvelle technique complètement innovante de personnalisation de nos smartphones, le "framework Xposed".
J’engage d'ailleurs ceux qui seraient passés à côté de la nouvelle, à parcourir l'article que nous avions consacré à son sujet : Suite Xposed : la personnalisation ultime sans flasher, dès février 2013.

Néanmoins, près d'une année s'est écoulée depuis la première version de la solution et depuis, le système a tellement évolué, tellement d'adeptes parmi les développeurs ont désormais rallié la solution, et finalement le système a tellement changé qu'une petite mise à jour nous a semblé s'imposer.

De même que la dernière fois, je vous présenterai le système cœur "Xposed Installer" puis un module exemple d'application "XHaloFloatingWindow" particulièrement démonstratif de la puissance du dispositif.

Introduction, Rappel

Extrait :

Franck_29 a écrit:Android et la personalisation : une histoire qui tourne au flashage

On le sait tous, un des points fort d'android est la capacité qu'il a, de permettre une personnalisation très poussée. Il en a beaucoup d'autres, mais sur le chapitre de la personnalisation, il n'a aucun équivalent. Et en réalité, c'est une première dans le mode de la smartphonie.

Dans bon nombre de cas, la personnalisation, pour aller plus loin qu'un simple changement de fond d'écran, passe par l'installation d'applications spécifiques (voir sur ce point l'ensemble des Launchers décrits dans nos sections "Applications"). Par contre, force est de reconnaître que pour aller plus loin, il devient rapidement question de flashage de "CUSTOM ROM". Et dès lors, on ne s'adresse plus qu'à une frange minime des utilisateurs d'android. Car dans l'esprit de la plupart d'entre nous, flasher un CUSTOM c'est risqué et stressant, et le risque d'être déçu existe bien souvent. Vous devez enfin, vous en remettre au choix du développeur de ces CUSTOMS, par exemple en matière d'ergonomie, et donc accepter d'un bloc l'ensemble des choix qu'il a opéré pour vous.

Vers une nouvelle approche pour la personnalisation

Fort de ce constat : "Flasher des ZIP ou des ROM" c'est compliqué, c'est élitiste et c'est bien peu souple, une équipe de développeur sur XDA (@rovo89) a repensé la situation et nous propose une approche complètement nouvelle de la personnalisation.
Plus de ZIP contenant des APK modifiés par des développeurs et agrégés au sein de CUSTOM ROM.

Au contraire, l'idée nouvelle est d'exposer une API présentant les parties les plus intimes d'android. Ainsi, les autres développeurs, pourront, en s'appuyant sur cette API, réaliser des applications (de simples APK) qui pourront "bidouiller" à loisir ces "parties intimes", sans risque pour votre smartphone, (ceux qui installent des CUSTOM ne comptent plus les blocages et autres bootloop les forçant à réinstaller leur système) et permettre n'importe quelle customisation.

Le système présenté se compose :
- d'une application principale (Xposed Installer) qui contient toute l'API dont je parlais plus haut.
- de modules complémentaires (ex : Xposed App Settings) qui vont se spécialiser dans des customisations particulières. (nous y reviendrons)

Ce qui est à souligner c'est que ce système est compatible avec les firmwares officiels, et qu'il est possible de mixer à volonté les modules complémentaires (qui n'a pas été confronté à deux ZIP incompatibles...)

Si l'on devait résumer la comparaison, on pourrait dire que dans les CUSTOM (certains, pas tous hein ;)), les personnalisations sont codées en dur, alors que dans le système présenté, elles sont génériques et sont réalisées par de simple APK.

Les plus curieux consulteront le thread XDA de @rovo89 : [FRAMEWORK] Xposed - ROM modding without modifying APKs/flashing
Image


Xposed Installer dans le détail

Xposed installer se présente sous la forme d'un simple APK nécessitant les droits root. Après l'avoir installé, (disponible au téléchargement sur le site de XDA : topic XDA : [FRAMEWORK ONLY!] Xposed - ROM modding without modifying APKs, ou plus directement sur : Lien de téléchargement direct de la toute dernière version), vous constaterez que l'application contient 5 parties :
- Framework : permettant de manager le cœur du système.
- Modules : permettant de gérer les modules complémentaires optionnels (ce sont eux qui réalisent les modifications : ex : changer le DPI par application, tweaker la barre de notification etc...)
- Téléchargements : (c'est une nouveauté par rapport à l'article datant d'un an) vous donne accès à un dépôt de modules constamment tenus à jour. Vous y verrez si vos modules sont à jour, et surtout si de nouveaux sont susceptibles de vous intéresser. C'est un ajout essentiel du dispositif, une sorte de mini "market" de modules, et c'est extrèmement bien fait.
- Paramètres : actuellement peu riche, cette section permet de choisir si oui ou non vous autorisez Xposed Installer à chercher des nouveaux modules ou s'il doit être mis à jour.
- Journaux et à propos : des fonctions annexes :

Quelques copies d'écran :
L'écran principal de Xposed Installer et le menu Framework
Image Image

La liste des modules installés, et l'écran de gestion des téléchargements. Notez en haut à droite, la possibilité de affranchir l'écran [un vrai market]
Image Image

Une autre vue de l'écran téléchargement : Il y a énormément de modules additionnels référencés. L’écran paramètres est encore minimal.
Image Image

Un exemple de module complémentaire : XHaloFloatingWindow

Pour faire très court, HALO est une fonctionnalité développée par l’équipe "Paranoid", rendue célèbre pour la ROM du même nom.
L'objectif de HALO, est notamment, de pouvoir lancer une application, par dessus celle en cours d'utilisation, en mode "popup" (dans une fenêtre). Si !
Initialement, cette fonction était exclusive des ROMs Paranoid, mais le source de HALO a été "libéré" par les concepteurs initiaux, aussi des modds sont apparus pour pouvoir en bénéficier sur d'autres ROM. Mais, un pas décisif a été réalisé par son "portage" sur le framework XPosed, rendant donc disponible la fonction pour globalement tout téléphone disposant dune version supérieure ou égale à 4.0.4! et bien sûr, dans l'esprit de Xposed, sans avoir à le flasher. Ce pas a été franchi par @zst123 du forum XDA (cf. le topic où il présente ses travaux : [MOD][XPOSED][ICS/JB/KK] XHaloFloatingWindow beta2.04 - Movable & Resizable Halo Popup for Xposed Framework)

Pour en bénéficier, il faut télécharger le module XHaloFloatingWindow puis l'installer, vous l'avez compris, tous se passe dans le menu "téléchargement" de l'application Xposed Installer, et se fait très facilement :

Sélection du module, affichage d'une description de ce module, et téléchargement. la procédure se termine par l'installation.
Image Image Image

Ensuite, rendez vous dans le menu "Modules" de Xposed Installer, et cliquer sur votre module tout neuf pour le paramétrer.
Je vous propose ci-dessous quelques écrans de paramétrage. C'est assez simple.

Image Image Image

Image Image Image

Cliquer dans les paramètres du module sur "Restart SystemUI" et rebooter votre appareil, c'est terminé (la magie Xposed)
Quand vous recevrez une notification d'une application (dans votre barre de notification donc) faites un appui long sur la notification (juste pour essayer) Désormais en plus du menu "informations" vous avez l'option supplémentaire "Open in Halo". N'hésitez pas, essayez!

Une copie d'écran du résultat pour vous mettre l'eau à la bouche :
Image

Conclusions

Si cette fonctionnalité vous plaît, vous pouvez télécharger des applications qui permettent de lancer directement des apps en mode "Halo" sans passer par la barre de notification (par exemple "Portal, Floating Notifications, Bubble Launcher"), il est possible que cela vous tente ;)

Au delà du nouveau module, sommairement décrit ici, un an après, Xposed (by @rovo89 (XDA) avec sa cohorte de modules parfois étonnant de puissance, a fait ses preuves. Il est désormais incontournable pour bon nombre d'entre nous.
C'est il ne faut pas s'y tromper, une innovation majeure, et il me semble que ce framework Xposed est de nature à pleinement justifier le rootage de nos appareil. Personnellement je ne pourrais plus m'en passer.

J'espère vous avoir donné envie d'essayer de mécanisme. C'est selon moi, et c'est pesé, l'innovation majeure concernant le développement Android depuis sa sortie.

Alors forcément, certains s'inquiètent du remplacement annoncé de la Dalvik VM par la future ART qui ne permettrait pas un portage simple de Xposed. Peut-etre, peut-être pas! quoi qu'il en soit, ART ce n'est pas pour tout de suite, et nous avons encore quelques années devant nous pour bénéficier de la pleine puissance de Xposed, en attendant qu'ART arrive. (cf. [DISCUSSION] ART v DALVIK VM)


17 réponse(s) -