Project Sandcastle: Android for the iPhone
The iPhone restricts users to operate inside a sandbox. But when you buy an iPhone, you own the iPhone hardware. Android for the iPhone gives you the freedom to run a different operating system on that hardware.
Android for the iPhone has many exciting practical applications, from forensics research to dual-booting ephemeral devices to combatting e-waste.
The source is here.
By leveraging our virtual devices, along with our deep knowledge of both the Android OS and the iPhone hardware, we were able to rapidly iterate to bring Android to life.
[…]
Unfortunately, Android developers enshrined the 4kB page size in the build system, breaking AArch64 convention; third-party applications containing binary libraries built for these small pages will not be able to start on our Android port and will need to be rebuilt. It’s not intrinsically hard - one or two command-line options - but it can’t be done if all you have is an APK.
Less limiting is the lack of 32-bit code support on our platform. While Android these days requires support for pure 64-bit systems from application developers, the system itself still has moldy chunks of 32-bit only code in unexpected places.
Update (2020-03-06): Isaiah Carew:
this is kind of mind blowing -- running Android on iOS.
i’d prefer the opposite. i’d like to be able to run iOS on generic hardware.