How To Install ANDROID on an iPhone

How To Install ANDROID on an iPhone
4 min read
25 July 2020

There's a longstanding idea that if you buy something, you should be able to use it however you see fit. Within reason, of course. But Apple is notorious for making it very difficult to install alternative operating systems on its iPhones, even if they've been paid off in full and are not part of a carrier financing program.

Although usage restrictions are familiar for software where the idea is that you pay for a license to use the software, rather than the right to do whatever you want with the source code, this doesn't make as much sense in the context of hardware. I mean, the physical device may be protected by patents, but you still own the actual silicon and glass that makes up your iPhone. But one team of developers recently found a way to get Android installed on iPhones.

The system goes by the name Project Sandcastle, and it uses a specific jailbreak, to bypass Apple's restrictions and get Android up and running at least to an extent. But how exactly did the team at Corellium, a cybersecurity startup, pull this off? One of the big keys is that they built a virtualized version of the iPhone that runs iOS on a Corellium-built virtual machine. How To Install ANDROID on an iPhoneIn fact, because Corellium sells this iPhone VM, they're currently embroiled in a legal battle with Apple.

Their in-house virtual machine allowed them to test exploits without running the risk of bricking one expensive iPhone after another. As we're pulling off the actual feat of running Android on an iPhone, the team had to write a number of custom drivers, including for NVMe support.

Although Android is known for working on a wide variety of hardware, there weren't drivers available that could link an operating system other than iOS with the hardware inside an iPhone.

Corellium also had to adjust how Android handles memory as the iPhone processor family handles data in different sized pages than what you would see in an Android phone. Additionally, it turned out that iOS initializes multiple processor cores, which all modern iPhones contain, differently than Android which caused further complexity. But these setbacks, there is now a working beta of Sandcastle that you can install on your iPhone after using the checkra1n exploit to jailbreak it.

This particular jailbreak takes advantage of a security flaw in the iPhone's bootrom, which is the first thing that runs when you power up the device. The flaw is a hardware level issue, so it's been described as unpatchable until Apple significantly changes their hardware design.

But although getting Android to run on an iPhone was definitely an impressive and cool feat, there are unsurprisingly significant caveats. Right now, the only devices that can run Project Sandcastle are the iPhone 7 and 7 Plus, as well as seventh gen iPod Touch.

  iPhone   iPod Touch
  SE 6 6s 7 7+ 8 8+ X XS XS Max XR 11 11 Pro   6G 7G
CPU No No No Yes Yes No No No No No No No No   No Yes
UART Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes   Yes Yes
USB Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No   Yes Yes
AIC Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes   Yes Yes
NAND No No Yes Yes Yes No No No No No No No No   No Yes
Display Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes No   Yes Yes
Multitouch No Yes Yes Yes Yes Yes Yes No No No No No No   No Yes
GPU No No No No No No No No No No No No No   No No
PMU No No No Yes Yes No No No No No No No No   No Yes
Audio No No No No No No No No No No No No No   No No
Cellular No No No No No No No No No No No No No   No No
WLAN Yes No No Yes Yes No No No No No No No No   No Yes
Bluetooth Yes No No Yes Yes No No No No No No No No   No Yes
 
I2C Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes   Yes Yes
SPI Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes   Yes Yes
Camera No No No No No No No No No No No No No   No No
APCIe No No No Yes Yes No No No No No No No No   No Yes
DART No Yes Yes Yes Yes No No No No No No No No   Yes Yes
Tristar Yes Yes Yes Yes Yes No No No No No No No No   Yes Yes

And once you get it up and running, don't expect every Android feature to work the way that it would on a true Android phone.

Notably, there's currently no support for audio, cellular connectivity, Bluetooth, or the camera. And don't expect GPU support for gaming either.

However, multitouch, USB, and WiFi all work. So if you're interested in simply using Android to connect to the internet on an iPhone, go ahead and give it a shot.

However, do take note that because of the nature of how checkra1n works, it disappears whenever you restart your device, so you shouldn't be relying on Project Sandcastle, if this wasn't already clear, as a longterm OS for an iPhone that you use as a daily driver, even if you could put up with the limited functionality.

But given the relatively short length of time that the Android port took to develop into a functional beta, could we see an unsanctioned yet fully functional Android running on an iPhone in the future? I mean, it worked for the Hackintosh folks, that is until Apple goes ARM and it gets more complicated. 

In case you have found a mistake in the text, please send a message to the author by selecting the mistake and pressing Ctrl-Enter.
Alex 9.8K
Joined: 4 years ago
Comments (0)

    No comments yet

You must be logged in to comment.

Sign In / Sign Up