Well, let's say it's complicated. It's easy to get Android to boot on mainline or android common kernel, it's difficult to get everything up and running the way it's intended. There is issues with audio, GPU and video acceleration, sensors, GPS, charging, keyboard, MHL, pen input and camera. And that's only the kernel driver side, this all needs a HAL equivalent in Android as well as you can't reuse anything from the downstream kernel. Some of those are easier to solve than others, most of them are not trivial and I'm lacking the time to dive deep into all the topics. Also, for most of this, there is no documentation at all. And let's not talk about modem support, there is progress by replicant, but last time I looked, it's far away from being solved. I'm still working on better mainline support, but progress is slow. Let's not continue this here though as this is off topic.