Developer gets Android P booting on the Motorola Moto Z
We’re just 10 days away from Google I/O 2018 where Google is expected to unveil a lot of details about Android P such as the rumored navigation gestures and Material Design revamp. The first Android P Developer Preview is available for the Google Pixel, Pixel XL, Pixel 2, and Pixel 2 XL and there’s a lot we’ve already seen in the first release, but there’s still a lot to look forward to before the final release of the new version of Android. For those of you without Google Pixel phones, you’ll probably be waiting a long time before P is made available for your device. However, developers on our forums aren’t going to wait for OEMs to officially update their devices (if at all), so they’re taking matters into their own hands. One such developer has managed to get the first Android P Developer Preview booting on his Motorola Moto Z.
The Motorola Moto Z was released in June 2016 with a Qualcomm Snapdragon 820 system-on-chip and Android Marshmallow. It has since received an official update to Android Nougat and Android Oreo, and it isn’t expected to receive Android P. XDA Recognized Developer erfanoabdi has managed to port Android P to his device thanks to unofficial Project Treble compatibility. This is now the second non-Google device we’ve seen able to boot Android P, although the last one was the Huawei Mate 10 Pro running on a heavily skinned version of it in the form of EMUI.
erfanoabdi was able to accomplish this by modifying the existing system image from the Google Pixel XL (marlin.) Using his custom script called “Capire Le Treble” which allows him to flash a device-specific system image on devices without a /vendor partition, he was able to flash the modified P system image from the Pixel XL onto his Moto Z that was previously running the official LineageOS 15.1 release (which, by the way, will be released Monday.)
For those of you who have followed our reports on Project Treble before, you may be wondering how this script works. In essence, it extracts the HALs in /system/vendor and places them in the Generic System Image (GSI) to be flashed; that way, flashing the system image won’t overwrite the HALs. After a few initial crashes and some heavy debugging, he was able to get Android P up and running. Here are some additional pictures showing off various P user interface elements and features.
According to erfanoabdi, it’s not without its fair share of bugs. Things like the camera, Wifi, and radio currently don’t work. Surprisingly, Moto Mods seem to work although that’s also a bit buggy. Considering how much of a giant hack all of this is (Moto Z doesn’t support Project Treble and the system image is a modified marlin image rather than one built from source), it’s surprising this even works at all. Don’t expect to run this as a daily driver anytime soon; you’ll probably have much more functional Android P ROMs when the source code is released alongside the full release of P.