How Project Treble makes Porting Android Oreo a 1 Day Job

How Project Treble makes Porting Android Oreo a 1 Day Job

By | November 27th, 2017
No Comments on How Project Treble makes Porting Android Oreo a 1 Day Job

Project Treble is most commonly described as an attempt by Google to

modularize the Android OS framework to separate vendor specific code.

  • The full update process to bring a new Android version to devices is a long and complex topic, but Sony has done a great job with this infographic which outlines the basic steps.
  • The “vendor” usually refers to silicon-manufacturers such as Qualcomm, but can also refer to the maker of any other proprietary hardware found in a device. The “device maker” or “OEM” usually needs to wait for the vendor to update their code so the proprietary hardware works with the Android OS framework in a newer version of Android.
  • However, what is happening with Project Treble is that Google is requiring that any vendor-specific code be separated from the Android OS framework and instead live in its own vendor implementation. Usually this means that there is now a separate /vendor partition on Treble-enabled smartphones that contains a bunch of HALs (Hardware Abstraction Layers).
  • Furthermore, vendors must implement code that lets the Android OS framework communicate with HALs in a standardized way. This is done via HIDL (HAL Interface Definition Language). With this in place, an OEM can work on an Android update without having to wait on vendors to update their HALs. Theoretically, this should speed up the entire Android update process as vendors can update their code at any time through the Play Store, for example.
  • To help understand what a HAL is and how it relates to Android, let’s consider an analogy. Imagine a car. The steering wheel and brakes are the HAL while the driver is the Android OS framework. The driver (Android) moves the steering wheel and presses on the brakes (the HAL) in order to control the movement of the car (the hardware).


Nisheeth Bhakuni