Wednesday, December 17, 2014

Xposed framework and android Lollipop compatibility

UPDATE: Xposed alpha for Lollipop is now available!
Read more

Mainly I have focused things around real Linux but this time something about Android. The way Google is destroying the privacy on Android disturbs me but there are certain must-have apps that force me to use Android on the phone. I have to say that Android mobile apps are a real privacy nightmare. There are phone owners and phone owners like me that root the phone, remove the bloatware and add the extra security for privacy matters.


Xposed framework, what????


Xposed framework should be familiar all of those who have rooted android phone. It's a framework that offers free modules that affects the apps, the device and the system at the system level.  All the changes that are done using it, is also easy to undo. As all changes are done in the memory, you just need to deactivate the module and reboot to get your original system back.

Example I have used it to set user interface language to be in English but the Google Maps turn-by-turn navigation voice and texts in Finnish. It doesn’t sound so great when you hear Finnish street names in English but I don't like to use Finnish as the system language. So that is something that you cannot configure without using the Xposed framework's "App Settings" module.

Other module I use is Xprivacy that is ultimate privacy manager for your installed apps. App by app I can configure it to send spoof GPS, IMEI etc. data to selected apps. So it's the way to allow you install applications that requires too many privacy permissions. My friends are quite often asked where the hell I am because by the Facebook chat shows that I am in Somalia, Baltic Sea or some more exotic random location that Xprivacy randomly generates.


Xposed and the compatibility with Lollipop


All the Android phone owners are now waiting when they get Lollipop upgrade to their phone. You still should be aware that at the moment Xposed doesn't work with Lollipop. Lollipop is stepping away from the now-dated Dalvik runtime in favour of ART. So Xposed does not work with ART currently and as such will not be compatible with any device running on Lollipop, rooted or otherwise. With this in mind, many Xposed users will hold Lollipop upgrade when it comes available.

Rovo89, the inventor of Xposed is now sharing his latest thoughts about the Lollipop compatibility.

Keep in mind that most of you are mainly interested in getting Xposed for Lollipop. ART is not the only new thing there, also SELinux is much stricter there, blocking many things required for Xposed. Not sure if there will be a different solution than disabling SELinux or exchanging the policy, both of which would probably require flashing a custom bootimage/kernel. But I'm not even thinking about this in detail yet, nor about different ways of installing Xposed (might be rather manually for the beginning). And I have no plans to use the Material Design anytime soon.

When I find the time and motivation, I will try to work on ART support. I will probably not be here and report about it though. When I think the time is right, I will publish my work-in-progress source code for others to help me (which requires a good understanding of advanced topics such as assembler/bytecode, so I'm afraid there won't be many people who can help). I consider everything I have done with ART so far as training - getting familiar with the source code, experimenting a lot, getting frustrated because it doesn't work most of the time. On Kitkat, ART is more or less a gimmick, most important it's optional. I might build an Xposed version that supports ART on Kitkat later if it can be maintained with little additional effort. If it's too different from the final ART, it will stay a proof of concept.


So in short: Wait until the final images and source code drop. Then wait again until it's ready. I can't give any estimation when that will be the case, it depends much on my personal situation. Chance are pretty low that it will be within a month after Lollipop release, and will get higher once I start thinking about flashing a Lollipop ROM myself (which would probably be CM12, and I think these guys won't give us a timeline either, for good reasons). I'm still not 100% sure Xposed for Lollipop will work, but I hope that in some way it will, even if it might not be as compatible with most ROMs and as easy to install as it is for Android 4.x.
Source: http://forum.xda-developers.com/showpost.php?p=56114217&postcount=5

 It's good to know that he's planning to get it working on Lollipop. Xposed has become the main ingredient for the custom roms where end-user handle the phone and the phone doesn't handle the end-user.