This is a pretty astonishing trick. From the original paper:
This is accomplished using a novel combination of binary compatibility techniques including two new mechanisms: compile-time code adaptation, and diplomatic functions. Compile-time code adaptation enables existing unmodified foreign source code to be reused in the domestic kernel, reducing implementation effort required to support multiple binary interfaces for executing domestic and foreign applications.
Diplomatic functions leverage per-thread personas, and allow foreign applications to use domestic libraries to access proprietary software and hardware interfaces. We have built a Cider prototype, and demonstrate that it imposes modest performance overhead and runs unmodified iOS and Android applications together on a Google Nexus tablet running the latest version of Android.
Some thoughts on this. First, since the binaries are not converted into Android binaries, there’s a level of interpretation going on. Meaning, at run time decisions are being made to call a different set of functions than the normal functions. This adds overhead, which means the whole experience is slower than a true native app. From the brief glimpse the students have given into the project (a project description, rather than a look at the code), it’s hard to say how efficient this process can get.
This is a proof-of-concept and not a true working solution. There’s no support for things like GPS, camera, phone, etc. Those critical elements might prove impossible to support.
There are the political questions. Will Apple allow such a thing to exist in the wild? Is there a legal path that lets them stop this technology? If this technology did emerge in a useful way, would this help expand the reach of iOS or provide Android with a mechanism to hinder the sale of iOS devices – Why buy an iOS device when you can buy an Android device and run both OSes?
Finally, I have to wonder if Apple has a skunkworks project somewhere that is trying to run Android on an iPad. Now that would be a nightmare to maintain.