Le framework Xposed pour Android Lollipop est arrivé!

Xposed Framework n'a pas besoin d'être présenté aux lecteurs. Lorsqu'on lui a demandé ce que notre communauté déteste le plus à propos de Lollipop, le commentaire le plus voté dans la discussion a été qu'il a brisé le soutien à Xposed. En fait, de nombreux membres du forum ont même refusé de mettre à jour Lollipop spécifiquement pour cette raison. Mais tout cela change maintenant, car le très attendu Xposed Framework est enfin arrivé pour Android Lollipop.

Si vous n'êtes pas déjà familiarisé avec Xposed, simplement, c'est une aubaine pour la communauté du modding. Xposed ne nécessite aucune mise à jour flash de ROM, mais apporte une tonne de personnalisation et de réglages que les utilisateurs peuvent installer comme des applications sur des appareils enracinés. Il est incroyablement simple à utiliser et avec un risque limité. Et maintenant, tous les passionnés d'Android sur Lollipop peuvent profiter des avantages de ce projet fantastique sur leurs appareils. Prenez votre téléchargement et passez au modding!

Téléchargez Xposed Framwork pour Android Lollipop ici.

rovo89 a également eu la gentillesse de nous fournir un Q & R pour le dernier projet. Vous pouvez trouver des réponses à toutes vos questions sur le projet ci-dessous.

Pourquoi cela a-t-il pris si longtemps? ART a été publié il y a plus d'un an!

Tout d’abord, beaucoup de gens continuent de demander un soutien antirétroviral. Lollipop a beaucoup plus de changements que cela, tels que des règles SELinux, des ROM 64 bits et des modifications d'architecture encore plus strictes que celles attendues d'une version majeure. Et bien sûr, l’ART lui-même est en constante amélioration; il existe de grandes différences entre ART pour KitKat et ART pour Lollipop.

Une des raisons est donc la grande complexité, qui a nécessité de nombreuses heures de travail de recherche, de développement et de test.

Une autre raison est qu’il ya autre chose dans ma vie que Xposed. Il ya donc des semaines, voire des mois, au cours desquels j’ai à peine regardé le code.

Avons-nous besoin de réécrire tous les modules?

Non, l'API Xposed est pratiquement inchangée. Xposed résume tous les détails, les modules n'ont donc pas besoin de savoir s'ils fonctionnent sous Dalvik ou ART. De nombreux modules fonctionneront sans aucun changement, en particulier ceux qui modifient le comportement des applications utilisateur. Les modules ciblant le comportement du système devront peut-être être adaptés au nouveau code de structure Android, qui n'est pas causé par ART, mais simplement par des modifications d'architecture et de code intervenant entre deux versions d'Android. Le plus important est que le code des services système a été déplacé vers un fichier séparé. Pour la plupart des modules concernés, cela peut être résolu en effectuant un peu de refactoring (déplacement du code dans un endroit différent).

Est-ce que ça marche vraiment?

Oui! Au moins pour moi, cela fonctionne bien sur mon appareil quotidien (Nexus 5 sur CM12) et également sur mon Nexus 9 (payé par - merci!). Le téléphone est stable comme d'habitude et les applications fonctionnent bien. Et bien entendu, les modules et leurs crochets / ressources de remplacement fonctionnent également bien, sinon il ne servirait à rien de publier quelque chose.

Mais alors pourquoi est-ce une version alpha?

Depuis la dernière version stable, d'importants changements ont dû être testés par des personnes sachant utiliser une récupération, échapper aux boucles de démarrage et signaler correctement les bogues. Je conseille vivement aux débutants d'attendre que Xposed ait été testé par suffisamment de personnes expérimentées.

Il existe également des cas de bord qui n'ont pas encore été testés, tels que les méthodes JNI (natif) et les méthodes en cours d'exécution au moment de les accrocher.

Je veux l'installer. Maintenant! Que dois-je faire?

Assurez-vous que vous avez lu mes paroles ci-dessus et que vous connaissez bien les éléments internes de votre téléphone. De toute évidence, vous devez être sur une ROM Lollipop et avoir une bonne sauvegarde de vos données. Pour le moment, je ne publierai que la version ARMv7. 64 bits est plus complexe, nous allons donc essayer d'abord la variante «facile».

Pour l'instant, l'installation doit être effectuée manuellement dans une récupération personnalisée. Flashing le fichier zip va installer:

  • app_process32_xposed et quelques liens symboliques
  • libexposed_art.so
  • libart.so et certains fichiers binaires associés + bibliothèques (basé sur la version 5.0.2, amélioré avec la prise en charge de l'accrochage, etc.)
  • XposedBridge.jar (maintenant stocké dans / system / framework)

Les sauvegardes des fichiers existants seront créées automatiquement et pourront être restaurées ultérieurement.

Ça ne marche pas / je n'aime pas ça! Comment puis-je le désinstaller?

Le moyen le plus simple est de restaurer une sauvegarde ou de flasher la partition système. Un fichier zip pour la désinstallation n'a pas encore été créé.

Pourquoi remplacez-vous les fichiers ART sur mon appareil? C’est plus invasif que sur Dalvik, cela causera des problèmes de performances importants et sera instable!

J'ai écrit quelques raisons sur GitHub. Oui, c'est plus invasif, j'ai donc essayé de l'éviter depuis longtemps, mais d'un point de vue technique et orienté support, je pense que c'est la meilleure option.

Moins performant qu'un ART original? Probablement, car j'ai dû désactiver certaines optimisations pour rendre certains types de points d'ancrage possibles. Cependant, cela ne concerne qu'une fraction de toutes les méthodes et même pour celles-ci, la perte de performance n'est certainement pas significative ni perceptible, même si elle est mesurable. Il existe encore des milliers d’optimisations effectuées par ART et j’ai essayé d’en désactiver le moins possible tout en offrant le maximum de flexibilité.

La stabilité est bien comme mentionné ci-dessus. Comparé à l'approche que j'ai utilisée pour Dalvik (modification des structures de données internes du runtime à partir de app_process), je suis même presque sûr que le remplacement complet des bibliothèques est un moyen beaucoup plus fiable. Je pouvais intégrer mes modifications dans le code existant proprement et réutiliser des fonctions connexes, alors que de nombreuses piratages et hypothèses seraient nécessaires pour d'autres moyens.

Allez-vous enfin rendre le code source public?

Bien sûr, vous le trouverez sur GitHub très peu de temps après la publication de la version alpha, dans une branche distincte pour le moment.

Est-ce que cela signifie que les anciennes versions d'Android ne sont plus prises en charge maintenant?

Non! Le nouveau code est compilé sur toutes les versions 4.x d'Android et doit simplement être testé avant une version unifiée. Mais d’abord, je dois être sûr que tout fonctionne bien pour Lollipop. Il est possible que le support ART puisse être transféré dans KitKat, mais cela n’est pas une priorité.

Comment puis-je vous remercier pour votre travail?

Beaucoup de gens ont demandé comment donner quelques dollars, alors j'ai créé une page de dons maintenant.

Combien dois-je faire pour que vous ajoutiez la fonctionnalité X ou un module qui fait du Y?

Ce n'est pas un don, c'est payer quelqu'un dans l'attente d'un travail futur. Je ne m'intéresse pas aux emplois de pigiste.