Google announced Project Treble as a part of Android 8.0 Oreo, aimed at making it easier for smartphones to get faster Android updates and for a longer duration. All smartphones that launch with Android 8.0 Oreo are Project Treble compatible, but older smartphones do not get this feature. However, now a developer has made the Xiaomi Redmi Note 4 Project Treble compatible.
Google’s Project Treble is a low-level change to the Android Framework which involves separating vendor Hardware Abstraction Layers (HALs) from the Android Framework into a new vendor partition. Also, it allows these HALs communicate with the Android Framework through a new Vendor Interface.
However, this has been a challenge for developers to first find space to use as a make-shift vendor partition on devices that do not already have one and then move all of the HALs out of the system partition into this new vendor partition, and then create the new vendor interface. Now, an XDA developer known as abhishek987 has successfully completed all these steps and brought full Project Treble support to the Xiaomi Redmi Note 4.
Project Treble on the Xiaomi Redmi Note 4
The developer used the “cust” partition on Redmi Note 4 for making the vendor partition. The cust partition has a lot of device-specific data from MIUI, so it only wastes space on an AOSP build. So, using approx. 830MB unused partition, he moved the vendor HALs from the system into cust without needing to repartition.
To recall, this makeshift of the vendor partition was the justification that OEMs including Nokia and OnePlus used in their statements about why they weren’t going to bring Project Treble compatibility to their devices. After getting the vendor interface working, he was able to boot up another XDA Member’s Android 8.1 Oreo GSI on Redmi Note 4.
As for Redmi Note 4 users, the Treble support is a great news. The Redmi Note 4 will now easily be getting Android P as well once the source code is made available. If you want to install this LineageOS 15.1 ROM that the developer has used, you can read his announcement post for the detailed flashing instructions.