Project Treble: The Messiah for Unpopular Android Device Owners for Modding Community

Android life cycle manufacturing illustration

Project Treble is an initiative to make Android updates easier and effective by splitting the core Android OS and device-specific low level software a.k.a vendor codes. But for the Android modding community, it evolved to be a lot more: Android Generic System Image (GSI)!

Licosha — Ever heard of “Project Treble” before? Me? Never. But after owned an Android 8 (Oreo) smartphone a few years ago (my ASUS ZenFone Live L2 that is), since i love modding my Android device, Project Treble became an important word in my dictionary, moreover it leads to one of most important thing in my Android device modding terminology today: The Android Generic System (GSI).

Project Treble itself was started when Android 8 O released globally few years ago. To make it easy for me to summarize it to you, yes, for me 😂, look at the illustration below to understand more about the impact of Project Treble:

Android life cycle manufacturing illustration
Life cycle of Android OS codes manufacturing
Android before Treble illustration
Android before Treble illustration
Android with Treble illustration
Android with Treble illustration

Well, maybe more or less Project Treble is how the developers up there decided to split between Android system code base which is more generic that made born to the Google’s Android GSI that applies to every hardware, and vendor or device specific codes that left to device manufacturers, to make Android devices manufacturing ecosystem easier and more effective, time-wise and cost-wise.

Android Project Treble and Generic System Image (GSI)

Custom ROM, maybe for us whose involved ourselves in Android modding have known it since Android device itself became a common thing in people’s everyday life 10 – 12 years ago. Casually, installing a custom ROM to our Android device is to customize how its works and looks by applying customized codes to the device. But how about Android GSI or Generic System Image?

An Android GSI is more or less is just the same as Android ROM, on the surface… But it actually is a different thing, especially how we install it and make it works on our Android device.

In an Android ROM or custom ROM, it includes all things our device needs from the kernel, system, and device specific/vendor codes, so most ROM developer usually will made it easy for us to install it just by “Install zip” it from custom recovery such as TWRP. Wipe data, dalvik/cache, done!

But on an Android GSI which has .img file extension, it is just a system image, means it only contains codes used in the system partition. So what about the codes used in kernel and vendor partition? That’s when Project Treble comes from.

Thanks to the Project Treble, Android code base and device specific codes or vendor now are two separate things. Installing an Android Generic System Image, that is Generic, it means it contains generic codes for Android devices system partition where the rest of device specific codes like kernel and vendor is left to each our Android device’s original one.

Treble Experimentation (treble_experimentations) project, The spices for the raw Google’s Android GSI

If we say an Android Generic System Image or GSI, it probably not to refers to the Google’s Android GSI as it is a very raw GSI image, but the one actually patched with the codes from treble_experimentations community project initiated by phhusson@github.

The Treble Experimentation, which codenamed treble_experimentations on its GitHub repository, is a community initiative to create a method to easily patching or applying our Android devices specific codes to the raw GSI image so it can detects our specific Android device hardware and system.

Now, the Treble Experimentation is one of popular project on GitHub with more than 2k stars and hundreds of devices specific codes has been added to make the Android GSI more compatible on as many hardware as possible.

How to know if our Android device is Project Treble supported?

TL;DR, if your Android device was released as Android 8 (Oreo) or later and was “Play Protect” certified when you opened the “About” menu of Google Play Store the first time you used it fresh from the box, then your device is Project Treble supported.

But, to actually know if our current Android device has Project Treble supported, we can use phhusson’s “official way” to install Project Treble compatibility on our Android device easily using Treble Info Android app.

🔗 Treble Info Android Application v. 4.3.7.apk (2 MB)
Download: GitLab
↗️ Treble Info Android app on Play Store

Finding the right GSI image for our Android device using Treble Info app

Using the Treble Info Android app, we can know our Android device Project Treble compatibility, hardware, and system partition so we can know which GSI image that is compatible for our Android device.

For example, look at the screenshot of check result of Treble Info on my ASUS ZenFone Live L2 Android phone:

Treble Info screenshot my Asus ZenFone Live L2

So, from the screenshot above, I can summarize it that my currently running ASUS ZenFone Live L2 Android phone are:

  1. 2nd row, Treble and VNDK: My Android device is support Project Treble using VNDK (Vendor Native Development Kit) Lite version.
  2. 3rd row, System as Root: My Android device has System-As-Root, means the /system is actually the device root partition while the core Android OS codes is now located at /system/system which is commonly phrased as “A/B” partition. Typically, device that has stock ROM using Android 9 (Pie) and above will use “A/B” partition, while stock ROM with earlier Android versions commonly used “A” partition (/ as device root partition and /system where Android OS codes placed).
  3. 4th row, Architecture: My Android device hardware is ARM64.

So, from the Treble Info app, the important letters 🤣 for me to get the right GSI image for my Android device is ARM64-AB-VNDKLite.

Leave a Reply

Your email address will not be published. Required fields are marked *