En approche... XPosed pour Lollipop

Des articles de fond, des réflexions, pour aller plus loin et pour réagir
#1

En approche... XPosed pour Lollipop

Messagepar jhowlett468 » 21 Fév 2015, 16:31

Image

Cliquez sur l'image pour vous rendre sur le thread XDA concerné - Image de profil GitHub de @rovo89, le dev' de XPosed ;)
Discussion sur XPosed pour Lollipop ICI


Bonjour !!

Déjà, qu'est-ce que XPosed ? Topic détaillé de @franck_29 ICI. Pour faire court et simple XPosed est un framework permettant de modifier le comportement ou les fonctionnalités d'APK voire du système sans modifier directement les fichiers concernés grâce à l'installation de modules au format APK. L'avantage de cette méthode est qu'elle est presque "universelle" et facilement réversible ( désinstallation du module, soft ou hard reboot et piouf modif supprimée... Normalement ).

Pourquoi un topic dédié à XPosed sur Lollipop ? Et bien car Lollipop utilise comme machine virtuelle ART ( plus d'infos sur les machines virtuelles Dalvik et ART sur ce topic ), incompatible nativement avec Xposed, celui-ci reposant sur la machine virtuelle Dalvik. Les gros changements entre ces deux machines virutelles ( et de grosses modifs entre KK et LL peut-être ? ) ont rendu le portage de XPosed... Compliqué. Une alternative semblait être en train d'émerger, El Pollo ( cf ce topic ) mais elle semble au point mort ( une recherche Google "El Pollo XDA" ne renvoie sur aucun topic XDA dédié ). Hasard ou motivation due à la concurrence, suite à l'annonce du développement d'El Pollo, @rovo89 a annoncé dans les jours suivants la sortie d'une version Alpha ( donc pas forcément stable ) de XPosed. La concurrence semble avoir du bon hein ;)

Après ces quelques explications, rentrons dans le vif du sujet :
  • XPosed pour Lollipop est-il fonctionnel ?
  • y-a-t'il des bugs ?
  • les modules déjà existants sont-ils compatibles avec la version Lollipop ?

  • XPosed pour Lollipop est-il fonctionnel ?
    Le framework XPosed Lollipop semble faire bootlooper les appareils en ROM stock Samsung : cela serait dû à un changement au niveau des fichiers .oat présents dans celles-ci. Le bug est connu de @rovo89 et il bosse dessus mais ça risque de prendre du temps. Pour faire simple, pour l'instant XPosed Lollipop ne marche que sur les appareils Samsung en ROM AOSP.
  • Y-a-t'il des bugs ?
    Si le framework installé est trop "vieux" et ne fonctionne pas, il faut le mettre à jour ( minimum en v61 ). En cas de fonctionnement normal mais si la version app_process n'est pas affichée, il s'agit juste d'un bug qui sera résolu plus tard ( on est sur une version alpha ;) ).
  • Les modules déjà existants sont-ils compatibles avec la version Lollipop ?
    Les modules pré-existants pour KK ( et versions antérieures ? ) semblent être compatibles avec la version Lollipop cependant il peut y avoir des bugs étant donné le saut de version Android. Nul doute que les "gros" modules vont rapidement recevoir des MAJs ;)

Situation du projet au 19/02/15 ( traduction [partielle] Google traduction re-traduite par bibi de ce post de @rovo89 ) :

rovo89 a écrit:Le problème le plus important semble être l'incompatibilité avec les ROMs stock Samsung, provoquant des bootloops. J'ai travaillé dur sur ce bug dans les jours suivant la sortie, mais le souci est plus étendu qu'il n'y parait. Merci à @GermainZ qui me sert de testeur et me fournit les fichiers logs ! Jusqu'à présent, j'ai détecté les problèmes suivants:
  • optimisation des fichiers .oat : Samsung a ajouté un "TypeLookupTable", probablement pour des raisons de performance. La table elle-même sera ignoré par XPosed MAIS cela signifie aussi que le format de fichier est légèrement différent. J'ai enfin compris ce qu'ils ont fait et ait ajouté un process permettant de shunter les références à cette table.
  • La taille différente de la classe String: ils ont ajouté une méthode d'effacement (), ce qui est inhabituel comme des chaînes sont généralement immuable. Comme cette classe est l'un des rares à avoir un soutien particulier en code natif, j'ai dû ajouter une entrée à la table virtuelle de la classe.
  • Des champs supplémentaires en classe DexCache: les offsets de certains domaines sont différents. En raison de cela, ils doivent être manipulés en code natif (comme cette autre classe centrale avec des fichiers originaux directement mises en œuvre dans ART).
  • rejet de la vérification ViewDebug class : ne me semble pas être critique, mais à tester si cela fonctionne avec les bibliothèques originales.
  • Mise en œuvre manquantes pour certains processus natives: certains processus Java ont été mis en œuvre en code natif au lieu de codage Java. Cela signifie que je vais devoir les mettre en œuvre de la même manière.

Les modifications effectuées par Samsung sont plus profondes que ce à quoi je m'attendais, en particulier étant donné que ART est très complexe et peu documenté. Quoi qu'il en soit, je pense toujours qu'une fois ces problèmes surmontés, il est préférable de remplacer des bibliothèques que d'essayer de manipuler les structures et les comportements données de «l'extérieur» (app_process). Pensez-y: s'ils ont fait des grands changements, il est très probable que ces changements dans ces structures de données sont différentes des ROMs AOSP et auraient besoin d'un approche particulière ainsi.

Il serait évidemment utile d'avoir un zip de désinstallation au cas où vous rencontreriez un bootloop. Je n'ai pas le temps pour cela encore, mais peut-être quelqu'un peut-il construire une première version qui annule les modifications faites par XPosed. Pour les bibliothèques ART, celà devrait être assez facile. Vous voudrez peut-être de ne pas désinstaller app_process32 au cas où vous auriez installé SuperSU. Il y aura besoin d'une procédure spéciale pour vous assurer de ne pas endommager partiellement ou totalement votre ROM.

[...]

Cela dit, je ne vais pas être en mesure de travailler sur Xposed dans les prochains jours, certainement pas avant lundi. Gardez à l'esprit que ce n'est pas mon emploi à temps plein et que cette phase alpha pourrait prendre un certain temps. Il serait illusoire de penser que nous atteignions un état stable après quelques jours, avec tous les changements qui ont été faits.


Si vous êtes intéressé par XPosed et que vous êtes sous Lollipop ( ROM AOSP ), tous les liens de téléchargenent sont sur le topic XDA.
Image
Image
|| Galaxy S5 SM-G900FImage|| Gear Fit ( SM-R350 )
ROM xXx No Limits 6.1 base CQAVImageROM BOA2
Modem CQAW / CSC XEFImage
Kernel stock / recovery TWRP 3.0.2.2
Knox 0x1, garantie finie
Charte du forum
Liens importantsNouveau ?Drivers Samsung 1.5.51 -> Install
Vérifiez votre modèleEn ULTIME recours ? ---> ICI
Rédac' chef du Blog
Téléphone qui bootloope ?
Image
Avatar de l’utilisateur
jhowlett468
Modérateur
Modérateur
 
Message(s) : 9259
Inscription : 16 Août 2011, 20:28
Localisation : Xavier's Intitute for Gifted Youngers, 1407 Graymalkin Lane, Westchester County, NY /// La DZ

#2

En approche... XPosed pour Lollipop

Messagepar jhowlett468 » 21 Fév 2015, 16:31

Réservé
Image
Image
|| Galaxy S5 SM-G900FImage|| Gear Fit ( SM-R350 )
ROM xXx No Limits 6.1 base CQAVImageROM BOA2
Modem CQAW / CSC XEFImage
Kernel stock / recovery TWRP 3.0.2.2
Knox 0x1, garantie finie
Charte du forum
Liens importantsNouveau ?Drivers Samsung 1.5.51 -> Install
Vérifiez votre modèleEn ULTIME recours ? ---> ICI
Rédac' chef du Blog
Téléphone qui bootloope ?
Image
Avatar de l’utilisateur
jhowlett468
Modérateur
Modérateur
 
Message(s) : 9259
Inscription : 16 Août 2011, 20:28
Localisation : Xavier's Intitute for Gifted Youngers, 1407 Graymalkin Lane, Westchester County, NY /// La DZ

#3

En approche... XPosed pour Lollipop

Messagepar jhowlett468 » 21 Fév 2015, 16:31

Réservé
Image
Image
|| Galaxy S5 SM-G900FImage|| Gear Fit ( SM-R350 )
ROM xXx No Limits 6.1 base CQAVImageROM BOA2
Modem CQAW / CSC XEFImage
Kernel stock / recovery TWRP 3.0.2.2
Knox 0x1, garantie finie
Charte du forum
Liens importantsNouveau ?Drivers Samsung 1.5.51 -> Install
Vérifiez votre modèleEn ULTIME recours ? ---> ICI
Rédac' chef du Blog
Téléphone qui bootloope ?
Image
Avatar de l’utilisateur
jhowlett468
Modérateur
Modérateur
 
Message(s) : 9259
Inscription : 16 Août 2011, 20:28
Localisation : Xavier's Intitute for Gifted Youngers, 1407 Graymalkin Lane, Westchester County, NY /// La DZ

#4

Re: En approche... XPosed pour Lollipop

Messagepar jhowlett468 » 21 Fév 2015, 16:31

Réservé
Image
Image
|| Galaxy S5 SM-G900FImage|| Gear Fit ( SM-R350 )
ROM xXx No Limits 6.1 base CQAVImageROM BOA2
Modem CQAW / CSC XEFImage
Kernel stock / recovery TWRP 3.0.2.2
Knox 0x1, garantie finie
Charte du forum
Liens importantsNouveau ?Drivers Samsung 1.5.51 -> Install
Vérifiez votre modèleEn ULTIME recours ? ---> ICI
Rédac' chef du Blog
Téléphone qui bootloope ?
Image
Avatar de l’utilisateur
jhowlett468
Modérateur
Modérateur
 
Message(s) : 9259
Inscription : 16 Août 2011, 20:28
Localisation : Xavier's Intitute for Gifted Youngers, 1407 Graymalkin Lane, Westchester County, NY /// La DZ

#5

Re: En approche... XPosed pour Lollipop

Messagepar franck_29 » 22 Fév 2015, 01:17

Merci pour ce topic jhowlett ;-) ça fait plaisir de voir que ce système, auquel nous avons cru très tôt, est toujours bien vivant;-)
Pour bien débuter sur le forum : la charte, FAQ, Comment faire ?
Les points essentiels en quelques clics : Notre Blog
Modèle Galaxy S (GT-I9000) | Galaxy S II (GT-I9100) | Galaxy Note II (GT-N7100) | Galaxy Note 3 (SM-N9005)
Firmware CyanogenMod 10.2 | Stock XWLSD | Stock N7100XXUFNE1 | stock XXUDMK2
Modifications ROOT
Réseau B&You
Mon péché mignon développement de l'appli NokyART
Avatar de l’utilisateur
franck_29
Ancien du Staff
Ancien du Staff
 
Message(s) : 9030
Inscription : 20 Juil 2010, 15:31
Localisation : France, Paris, Cléder

#6

Re: En approche... XPosed pour Lollipop

Messagepar jhowlett468 » 22 Fév 2015, 09:54

De rien chef ;)
Et pourvu que ça dure surtout !!

Tapatalked by my S5
Image
Image
|| Galaxy S5 SM-G900FImage|| Gear Fit ( SM-R350 )
ROM xXx No Limits 6.1 base CQAVImageROM BOA2
Modem CQAW / CSC XEFImage
Kernel stock / recovery TWRP 3.0.2.2
Knox 0x1, garantie finie
Charte du forum
Liens importantsNouveau ?Drivers Samsung 1.5.51 -> Install
Vérifiez votre modèleEn ULTIME recours ? ---> ICI
Rédac' chef du Blog
Téléphone qui bootloope ?
Image
Avatar de l’utilisateur
jhowlett468
Modérateur
Modérateur
 
Message(s) : 9259
Inscription : 16 Août 2011, 20:28
Localisation : Xavier's Intitute for Gifted Youngers, 1407 Graymalkin Lane, Westchester County, NY /// La DZ

#7

Re: En approche... XPosed pour Lollipop

Messagepar jhowlett468 » 23 Fév 2015, 15:01

Aucun retour ? Pourtant, à part le chef et moi, il y a quand même quelques membres qui se servent de XPosed sur le fofo :)
Image
Image
|| Galaxy S5 SM-G900FImage|| Gear Fit ( SM-R350 )
ROM xXx No Limits 6.1 base CQAVImageROM BOA2
Modem CQAW / CSC XEFImage
Kernel stock / recovery TWRP 3.0.2.2
Knox 0x1, garantie finie
Charte du forum
Liens importantsNouveau ?Drivers Samsung 1.5.51 -> Install
Vérifiez votre modèleEn ULTIME recours ? ---> ICI
Rédac' chef du Blog
Téléphone qui bootloope ?
Image
Avatar de l’utilisateur
jhowlett468
Modérateur
Modérateur
 
Message(s) : 9259
Inscription : 16 Août 2011, 20:28
Localisation : Xavier's Intitute for Gifted Youngers, 1407 Graymalkin Lane, Westchester County, NY /// La DZ

#8

Re: En approche... XPosed pour Lollipop

Messagepar Bambou64 » 23 Fév 2015, 15:53

Gravity Box est désormais compatible Lollipop, pour ceux qui l'utilisent ;)

Envoyé de mon OnePlus One sous CM12 en utilisant Forum Fiend
Nouveaux membres ? => Pensez à visiter la section "Pour bien débuter sur le Forum" !
OnePlus One 64 Go
Rom : LineageOS 14.1 - Nightlies (Android 7.1)
Modem : .3.0 241 (Lollipop)
Nexus 4
Rom : Android 5.0.1 Stock
Modem : 1.02
Galaxy S3 16 Go (i9300)
ROM : CM10.2 (Android 4.3)
Modem : XXEMG4
Galaxy S
ROM : Mackay 2.99
Modem : JW4
Opérateur/Forfait : Bouygues Telecom (B&You 20 Go)
PC : Linux Mint 18.1 Cinnamon, avec adb et fasboot (+ Win7 / Win10. Win XP dans VirtualBox)
Avatar de l’utilisateur
Bambou64
Andro-Assistant
Andro-Assistant
 
Message(s) : 17158
Inscription : 25 Août 2010, 12:28
Localisation : Toulouse (31)

#9

Re: En approche... XPosed pour Lollipop

Messagepar jhowlett468 » 23 Fév 2015, 15:54

Aaaaaaaaaaaaaaaah un qui parle :)

Oui, j'ai vu mais pas pensé d'en parler, merci pour l'info ;)
Image
Image
|| Galaxy S5 SM-G900FImage|| Gear Fit ( SM-R350 )
ROM xXx No Limits 6.1 base CQAVImageROM BOA2
Modem CQAW / CSC XEFImage
Kernel stock / recovery TWRP 3.0.2.2
Knox 0x1, garantie finie
Charte du forum
Liens importantsNouveau ?Drivers Samsung 1.5.51 -> Install
Vérifiez votre modèleEn ULTIME recours ? ---> ICI
Rédac' chef du Blog
Téléphone qui bootloope ?
Image
Avatar de l’utilisateur
jhowlett468
Modérateur
Modérateur
 
Message(s) : 9259
Inscription : 16 Août 2011, 20:28
Localisation : Xavier's Intitute for Gifted Youngers, 1407 Graymalkin Lane, Westchester County, NY /// La DZ

#10

En approche... XPosed pour Lollipop

Messagepar Bambou64 » 23 Fév 2015, 15:59

Mais c'est encore une version Alpha, faite surtout pour les roms AOSP vanilla (pur Google, pas les CM, Slim etc, où ça n'a pas d'intérêt)

Pas de support pour Touchwiz : ça peut fonctionner, mais rien n'est garanti ;) À vos risques et périls :D (Idem pour Sense, etc...)

EDIT : http://forum.xda-developers.com/xposed/modules/app-gravitybox-v5-0-0alpha-tweak-box-t3037566

Envoyé de mon OnePlus One sous CM12 en utilisant Forum Fiend
Nouveaux membres ? => Pensez à visiter la section "Pour bien débuter sur le Forum" !
OnePlus One 64 Go
Rom : LineageOS 14.1 - Nightlies (Android 7.1)
Modem : .3.0 241 (Lollipop)
Nexus 4
Rom : Android 5.0.1 Stock
Modem : 1.02
Galaxy S3 16 Go (i9300)
ROM : CM10.2 (Android 4.3)
Modem : XXEMG4
Galaxy S
ROM : Mackay 2.99
Modem : JW4
Opérateur/Forfait : Bouygues Telecom (B&You 20 Go)
PC : Linux Mint 18.1 Cinnamon, avec adb et fasboot (+ Win7 / Win10. Win XP dans VirtualBox)
Avatar de l’utilisateur
Bambou64
Andro-Assistant
Andro-Assistant
 
Message(s) : 17158
Inscription : 25 Août 2010, 12:28
Localisation : Toulouse (31)

Suivant

Retour vers Articles de fond (analyses, réflexions, réactions)

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)