What does Android’s possible switch to ART mean for Xposed and other apps?
When the Android runtime (ART) was first introduced with KitKat late last year, many folks praised the move, as the new runtime brought with it the promise of a faster and more fluid Android experience. At the time the runtime was billed as a experimental feature and that meant it was far from perfect.
While most folks who made the switch to ART did notice an improvement in how quickly Android ran (even if the difference was negligible for some apps), it also became apparent that certain apps and services would not play nicely with the runtime such as Whatsapp and several games.
Earlier today we learned that a pair of commits in AOSP suggest that Dalvik is dead, and that the next major version of Android could very well end up not only running ART as default but it may no longer have a way to switch back to Dalvik. Considering ART is known for not playing nice with some apps and with the XPOSED framework, what does ART mean for the future of these incompatible apps?
The good news is that while ART may cause problems, the issues will likely be temporary.
Apps that currently don’t play nice with ART
The number of apps that don’t support ART have shrunk considerably since the runtime first debuted. That said, depending on the accuracy and recency of the unofficial Android Runtime website, there are still dozens of apps that aren’t supported including Angry Birds Go!, AutoCad 360 and Bittorent.
there are still dozens of apps that aren’t supported by ART
So what will happen when ART rolls out? If these developers don’t take the most recent AOSP commits as a red flag to make changes, there’s a chance that these apps will simply cease to work when the next version of Android first rolls out (providing it really ditches Dalvik).
That said, most developers will act quickly either ahead of the formal announcement or immediately after. There’s also the possibility that a more stable, polished version of ART will have better compatibility with existing apps and so some of these developers might not have do make any changes at all.
For those wondering about root apps? For the record, these apps should play nicely with ART as well — provided the developers make any required changes, if they haven’t already.
Will ART kill Xposed framework?
The biggest question that folks probably have is what the switch to ART will mean for Xposed. Speaking in the comment section over at XDA, Xposed developer rovo89 shed a little light on this situation, making it clear that YES, Xposed will be affected by this transition and will likely not work with the next version of Android (provided it runs ART) immediately when it rolls out.
On the bright side, rovo89 remains fairly confident that the framework will eventually be made to work on ART and he reveals that he even has a very experimental test build designed for ART. So why not get everything ready ahead of time? In his own words:
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.
if you absolutely can’t live without XPOSED, you’ll probably be waiting a bit to make the upgrade to the next version of Android
Bottom-line, if you absolutely can’t live without XPOSED, you’ll probably be waiting a bit to make the change upgrade to the next version of Android. Once the official (stable) version of ART is made available, rovo89 will begin the work involved in making the Xposed framework compatible. He says that waiting also allows him to see how other changes like dual-stack 32/64-bit Zygote and very strict SELinux policies expected in the next version of Android might impact Xposed.
How long of a wait might you be in for? There’s really no way to tell for sure, as obviously there are factors that could affect the conversion effort. Again in his own words, 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.
Google wouldn’t switch to ART if it wasn’t ready for primetime
Sure, Google sometimes releases products in state this isn’t necessarily 100% polished, but with something as big as a change in runtimes to ART — you can bet that Google has done everything possible to ensure an easy transition. There’s likely to be a few bumps in the road, but ultimately moving to ART is a positive shift for Android and most of us will not miss Dalvik.
Any other potential major issues with the switch to ART that you are aware of that we didn’t touch on? Please elaborate in the comments below.