owned this note changed 7 years ago
Linked with GitHub

Android Treble: Faster Updates and Easier Upgrades - Merck Hung

歡迎來到 https://hackmd.io/c/COSCUP2018 共筆

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

點擊本頁上方的 開始用 Markdown 一起寫筆記!
手機版請點選上方 按鈕展開議程列表。

什麼是Treble

協助 AOSP 符合 Treble架構,
希望解決版本碎片化

做手機的公司,或是做embed system的比較會用到

從android 7.0之後就有了,是開發Android OS的基礎設施、更加的模組化

解決component之間錯綜複雜的關係

手機廠的客製化,可以寫在 Framework 和 HAL的extension裡。如果有Google要update patch時,可以更新在原始的 Framework 和 HAL 的程式碼中(可以和extension的部份分開)

Treble decouples Android Framework

HAL是Treble 第一關注的

在Treble之前,Android Framework在 build-time時,compile 和連結 HAL

HAL TYPE

Legacy HAL
Conventional HAL
Treble HAL

HIDL files

HAL interface difintion language

Framework call HIDL,HIDL call HAL

和AIDL類似

算是新的語言,像Java,陣列宣告比較接近c++

轉成空的cpp檔,給廠商實作cpp的內容,compile後,實作的部份放到vendor.img裡

Framework-only OTA is now possible

  1. HIDL interface
  2. HIDL runtime
  3. HIDL compiler

Binderization

Kernal 裡有新的 Hardware binder

古老有個給JAVA 用的 binder

還有一個給 vendor用的 binder

VNDK

Vender NDK

Low Level NDK

把vender的code 和 library,depend 到VNDK,而不是像以前一樣到framework

VNDK Snapshot

Framework更新後,新版本depend 到新版本的 VNDK,不過vender的VNDK還是舊的,可以一起運作下去。

Treblization process

舊HAL更新→build split process→VNDK conversion process→Treblization end

tags: COSCUP2018 android
Select a repo