Friday, May 12, 2017

Here comes Treble: A modular base for Android

Posted by Iliyan Malchev, Project Treble team lead


On the Android team, we view each dessert release as an opportunity to make
Android better for our users and our ecosystem partners. One thing we've
consistently heard from our device-maker partners is that updating existing
devices to a new version of Android is incredibly time consuming and costly.



With Android O, we've been working very closely with device makers and silicon
manufacturers to take steps toward solving this problem, and we're excited to
give you a sneak peek at Project Treble, the biggest change to the low-level
system architecture of Android to date.



Life of an Android Release



First, it's helpful to understand the "life of an Android release". There are
several steps a new Android release goes through before getting into the hands
of users:





  1. The Android team publishes the open-source code for the latest release to
    the world.

  2. Silicon manufacturers, the companies that make the chips that power Android
    devices, modify the new release for their specific hardware.

  3. Silicon manufacturers pass the modified new release to device makers — the
    companies that design and manufacture Android devices. Device makers modify the
    new release again as needed for their devices.

  4. Device makers work with carriers to test and certify the new release.

  5. Device makers and carriers make the new release available to users.



With Project Treble, we're re-architecting Android to make it easier, faster and
less costly for manufacturers to update devices to a new version of Android.






The Vendor Interface



Android was unveiled in 2007 as a free, open-source mobile operating system.
From the beginning, we intended Android to be scaled across a variety of
manufacturers. We knew that consistency of API was important for developers, so
we created a compatibility program for the Developer API specified by the href="https://source.android.com/compatibility/">Compatibility Definition
Document (CDD) and its associated Compatibility Test Suite (CTS), now
comprising over a million tests.



The result today is that app developers can write a single app that works across
over a billion devices running on different hardware from different
manufacturers.








Project Treble aims to do what CTS did for apps, for the Android OS framework.
The core concept is to separate the vendor implementation — the
device-specific, lower-level software written in large part by the silicon
manufacturers — from the Android OS Framework.



This is achieved by the
introduction of a new vendor interface between the Android OS framework
and the vendor implementation. The new vendor interface is validated by a Vendor
Test Suite (VTS), analogous to the CTS, to ensure forward compatibility of the
vendor implementation.





Benefits of Project Treble



Today, with no formal vendor interface, a lot of code across Android needs to be
updated when a device moves to a newer version of Android:






With a stable vendor interface providing access to the hardware-specific parts
of Android, device makers can choose to deliver a new Android release to
consumers by just updating the Android OS framework without any additional work
required from the silicon manufacturers:






Project Treble will be coming to all new devices launched with Android O and
beyond. In fact, the new Project Treble architecture is already running on the
Developer Preview
of O
for Pixel phones.



In addition to the architectural changes, we're working with our silicon and
device partners to take their code changes, such as features for a carrier
network in a specific country, and move them into the common Android Open Source
Project (AOSP) codebase. For example, Sony and Qualcomm contributed dozens of
features and hundreds of bugfixes to Android O so they no longer need to rework
these patches with each new release of Android.



We plan to publish the full documentation for Project Treble on href="https://source.android.com/">source.android.com with the launch of O
later this summer.

No comments:

Post a Comment