Android Treble 简单介绍.ppt

Android Treble Brief Introduction

Jacky Cai – 2017/09/27

Why Treble ?

The Android 8.0 release includes Project Treble, a major re-architect of the Android OS framework designed to make it easier, faster, and less costly for manufacturers to update devices to a new version of Android.

Treble

HAL

A HAL(Hardware Abstraction Layer) defines a standard interface for hardware vendors to implement, which enables Android to be agnostic about lower-level driver implementations. Using a HAL allows you to implement functionality without affecting or modifying the higher level system. HAL implementations are packaged into modules and loaded by the Android system at the appropriate time.

To guarantee that HALs have a predictable structure, each hardware-specific HAL interface has properties defined in hardware/libhardware/include/hardware/hardware.h. This interface allows the Android system to load correct versions of your HAL modules in a consistent way. A HAL interface consists of two components: modules and devices.

modules - represent your packaged HAL implementation which is stored as a shared library (.so file)

devices - abstract the hardware of your product. For example, an audio module can contain a primary audio device, a USB audio device, or a Bluetooth A2DP audio device

HAL Type

Binderized HAL

HALs expressed in HAL interface definition language (HIDL). These HALs replace both conventional and

legacy HALs used in earlier versions of Android and can serve the HAL in binderized mode. All devices

launching with Android O or later must support binderized HALs only.

Device

Passthrough

Binderized

Launch with Android O

HALs listed in Passthrough HALs must be passthrough

All other HALs are binderized

Upgrade to Android O

HALs listed in Passthrough HALs must be passthrough

HALs listed in Binderized HALs must be binderized.

All other HALs provided by the vendor image can be in passthrough OR binderized mode.

Passthrough HALs

android.hardware.graphics.mapper@1.0. - Maps

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐