天天看點

Android系統10 RK3399 init程序啟動(十二) 産品配置結構

說明

系統:Android10.0

裝置: FireFly RK3399 (ROC-RK3399-PC-PLUS)

前言

         Android源碼是可以運作在多種架構, 多種SOC上的,必然就有硬體客制化的代碼,這些代碼一般都是SOC原廠, ODM/OEM公司在Android中對各種底層硬體進行适配的代碼,   是以編譯源碼必定會通過一定的配置來選擇那些客制化的代碼, 而這個就是通過産品配置來完成。本章重點介紹Android源碼中産品配置結構,友善大家對産品配置有一個整體認識

一, 産品概念        

        産品的概念其實很容易了解, 一個soc,配置好相關的外圍電路和外圍裝置, 就組合成了一套完整的硬體, 該套硬體可以進行自由定制,最終變成産品, 比如一套完整的開發闆, 可以做成平闆, 也可以做成機頂盒, 在代碼層進行控制,将平闆和機頂盒中不同的外設進行配置,就可以完成一套代碼相容多種産品的目的。

二,産品配置結構

在Android源碼中有幾個重要的目錄,用于産品配置主要集中在源碼中的device/, build/target/, vendor目錄,架構如下:

Android系統10 RK3399 init程式啟動(十二) 産品配置結構

其實産品配置相關的目錄集中在源碼的device/,  build/target/,  vendor目錄下。

AOSP源碼目錄如下所示:

ls build/target

Android.mk  board  product

ls device/

common  generic  google  linaro  sample

rk3399源碼目錄目錄如下:

├── device

        ├── rockchip

        ├── common

        ├── rk3126c

        ├── ....省略

        └── rk3399

└── vendor

        ├── firefly

        ├── rockchip

        └── widevine

├── build/target

        ├── board

        ├── OWNERS

        └── product

總結

繼續閱讀