Rovo89 Speaks up Regarding ART and Android L Support
If by now you haven’t already heard of XDA Senior Recognized Developer rovo89‘s fantastic Xposed Framework–well, maybe you’re in the wrong place. But for those of us who are well acquainted with this incredibly versatile and powerful tool, there’s only one question: When Xposed will gain support for ART runtime, and by proxy, Android L.
Two weeks ago when we first learned that the L release would be the first version of Android to remove all traces of Dalvik and make ART the default runtime compiler, many in the comments were quick to complain about how this would “be the end” of Xposed Framework. Obviously, this is not true. However, bringing Xposed to ART isn’t as simple as one would imagine–especially given how rovo intents on releasing something that doesn’t just work, but also works well. In his words:
Well, “once” kind of implies that this will happen immediately after Google publishes the “final” version of ART. It should rather be read as “not before” they do so. It’s true that I’ve had a very experimental test build running some months ago. But ART is pretty complex, with lots of different operation modes that need to be tested. I figured it would be a waste of time to do so before ART becomes more stable. The fact that they are still pushing changes every day, including several huge internal refactorings (which will require adjustments in my code) confirms this. I will have to look at it once the official version is available, as then the change rate will hopefully decrease and also because much of it is trial and error. Apart from that, it will also show how other changes (e.g. dual-stack 32/64 bit Zygote, very strict SELinux policy) have an impact on Xposed.
So keep calm everyone. I’m pretty sure that the will be Xposed for ART (the final version, probably not for KitKat, at least at first), but please don’t freak out if it *still* isn’t published three days after Google I/O. If it takes a few weeks, then that’s what it takes.
But of course, a statement like this isn’t enough to keep users from asking this prized developer on a daily basis about when Xposed will be updated to work with ART and L. Luckily, he has once again spoken up regarding Xposed’s future, the progress thus far, what’s standing in the way, and more:
Q: if you can get xposed running in android L developer preview it will make xposed available to kitkat with art ?
“Getting it running” is one thing, whether it’s good to publish it is another question. I’ve had a prototype of Xposed for the ART preview in December already. Barely tested, needed manual installation, probably failing here and there, but generally it did what it should. But already back then, I’ve seen that Google is still working actively on improving ART. They have made huge internal changes since then. Last weekend, I made my prototype compile against the master branch of AOSP and I had to introduce lots of conditionals. That’s without knowing whether it will actually work, I just changed declarations, calls etc. to avoid compile time errors.
The ART preview in KitKat and the ART almost-final in the Android L preview are different pieces of software. Maintaining support for both of them means basically twice the work, especially for testing. That, and the fact that ART in KitKat was just an optional preview (with potential bugs that may be incorrectly blamed on Xposed), makes it less likely that I will publish Xposed for the KitKat variant of ART. That’s not a final decision, it depends on how ART development continues and how well I can support Android L. It’s important that Xposed works fine on upcoming Android versions where ART is the only runtime. KitKat support would be a bonus if it’s not too much effort to maintain in parallel.
Oh, and for everyone who thinks that posting “pleeeeease” or “you have to support it” will increase the chances of publishing something: It won’t. It will just annoy me and make it less likely.
Q: How about you just let him work on it and see how it’s goes.
There’s literally no reason at all to bother him with questions, when he has something new to share he will, when he doesn’t those questions will be just annoying to him. Not yours personally, but the sheer amount of people bombarding him with all kinds of art related questions just add up.
Indeed. I have received lots of hints “hey, Android L is out now” – yes, I know. So for now, I have disabled PMs…
By the way, I have just read the “How to Report Bugs Effectively” essay by the PuTTY developer. It’s so true!
So there you have it, folks. It’s actively being worked on right now. But even though there are ART-compatible test builds right now, the project is not yet ready for release because he wants to do more than just “get it running.” Furthermore, the differences between ART’s “preview” in KitKat and the more complete form in the L Developer Preview make it even more difficult to maintain code for both platforms.
In short, stop asking rovo for an ETA. And just like what we said for application developers, let him develop in peace.