Android Treble
Project Treble in Android is an initiative aimed at improving Android’s architecture to make OS updates faster and easier. First introduced in Android 8.0 Oreo, Treble separates the Android framework from the Hardware Abstraction Layer (HAL), allowing OS updates to proceed without reliance on hardware or chipset manufacturers.
Previously, applying a new Android version to a device required revising all hardware-dependent code together. However, with Treble, a standard interface between the OS and hardware is created, enabling OS updates to occur more independently. This setup allows Android devices to update to the latest OS versions more quickly and efficiently.
Most of the vendor components are provided by the SoC vendor, while the Android framework and applications sit above them. With a well-defined Vendor Interface, compatibility is maintained, making Android upgrades easier. This also allows for straightforward switching of SoCs.
I wondered whether this would truly work smoothly, but recently, an SoC vendor had the Vendor and System layers based on Android 13, and when we upgraded just the Android framework in the System layer to Android 14, it worked immediately. Although I haven’t tested every function, the basics operate well.
The diagram below shows where the Vendor Interface, Vendor NDK, and HIDL (Hardware Interface Definition Language) are defined, with the Kernel also being part of it. For more details, please refer to the YouTube video below.
The YouTube video below is from six years ago, but it provides a great explanation of Treble. This channel also offers many good videos on Android, so I plan to go through them all. Link: https://www.youtube.com/watch?v=2XJAdK9XKcQ
Google has put a lot of thought into organizing and building HAL, Treble, and VTS (Vendor Test Suite). Although proper implementation and management are needed on the product side, the fundamental framework seems to work well.