端端舝

端端舝Share a Scribd company logo
1
Treble Introduction
2
Agenda
? What is Treble
? Architecture
? New Conceptions
? Implementation
3
What*s Treble
4
Project Treble - Towards Modular Base for Android
OTA Framework without Vendor
Pieces
Version HAL for compatibility
5
Working Mode Switching
6
Modularizing Android
? Key Implementation
? move hw related code out of framework
? Separate build and image
? Versioning is mandatory for all HAL
? Process boundary from framework
? VTS (vendor test suite) to certify quality
of Vendor implementation - going to be
mandated like CTS
? Goal: OTA framework and
vendor implementation
separately
? New framework is able to be
compatible with old vendor
implementation
? Able to check compatibility between
framework and vendor implementation
? Testability and quality of vendor
implementation alone
7
Architecture
8
Architecture
9
Architecture
10
Process
Sensor
client
Vibrat
or c
Power
client
Init
ServiceManager
Zygote
System_server
vold
sufaceflinger
mediaserver
client
client
Sensor hal
process
HALServiceManag
er
Power hal process
audio hal process
IPC
IPC
IPC
11
New Conceptions
12
New Concepts
? VINTF (The vendor interface)
? VINTF implementation
? VNDK (Vendor NDK)
? VTS (Vendor Test Suite)
13
VINTF
14
VNDK/VINTF Implementation
15
Two VNDKs in One Devices
16
VTS
17
Implementation
18
Modification
? Build system
? Kernel
? Verified Boot.
? HIDL & Hal Binderization
? Enhanced Binder
? Selinux
? Quick Message Queue
? Certification
19
Build System
? Build framework and vendor interface implementation
separately
? Moving conditional compilation to runtime
20
Kernel Unification After Treble
21
Verified Boot
Before Treble After Treble
22
HIDL & Hal Binderization
? HIDL: AIDL for HAL
? All the current HALs need be re-implemented by following the HIDL
? Communicated with system services via binder (improved by Treble) and
Fast message Queue.
? HAL implementation
? Only dependent on NDK and VNDK
? Only dependent on shared library to avoid multi VNDK conflict.
23
HAL Version
24
Enhanced Binder
25
Selinux
♂ Policy modularization
♂ Policy Compatibility
Using attribute
26
Quick Message Queue
♂ A way to pass data that is even faster
♂ Shared memory ring buffer
27
Certification
? VINTF implementation Release
? Must Pass VTS
? Must Pass CTS using the pure AOSP Framework
? Framework Release
? Must Pass CTS with any supported VINTF
implementation

More Related Content

Introduction of android treble