天天看點

android項目 添加

vendor的英文單詞有“提供商”的意思,在google的android原始代碼裡vendor目錄包含了cpu硬體提供商的一些資訊。

android系統作為開放的手持裝置作業系統,在釋出之初必須要提供配置接口給cpu提供商,這樣android的系統才能在不同的cpu上運作。

實際上vendor目錄就是android系統預留給我們加入定制化資訊的目錄。在這個目錄中可以完成對系統預設應用程式的添加移除、及其背光,gps和opengl硬體适應層的vendor庫檔案或者代碼。

參考sample和htc dream建立rickleaf作為一個新的cpu廠商,在rickleaf建立一個heaven的目錄作為廠商的一個特别裝置

在android的platform代碼中,如果你的代碼需要編譯或者 一些二進制檔案和庫需要複制到目标闆,就必須有個android.mk檔案來管理。

vendor裡面的android.mk檔案主要負責編譯cpu廠商的特定代碼和複制檔案到目标闆,

 一般 項目中的android.mk檔案内容如下:

這個檔案負責對android系統的一些配置,包括如下等

arm cpu的版本

audio的架構類型

gps的适應層名字

是否vendor有自己的init.rc檔案

android的image類型(inand需要yaffs2的image,mmc需要ext3或者ext4(android2.3)的image

如果在platform中加入了自己的子產品,也可以加入配置機制,并且在這個檔案中決定是否加入到系統中來

這個檔案為

product_makefiles 指定一個mk檔案

在指定的mk檔案中完成對android系統中app層面的一些配置,下面簡單列舉:

添加預設的android應用程式

采用哪種dpi

采用哪種圖資

為android添加vendor的資訊

加入預設鈴聲

product_property_overrides

修改一些預設的property設定,關于什麼是property請大家去浏覽google的文檔,可以粗略的了解為類似系統資料庫的東西駐留在記憶體中,可以供應用程式讀寫

product_packages

product_copy_files

android通過以上兩個變量來對android packages和一些系統檔案進行添加和移除

product_locales

這個變有兩個作用:一個是加入系統支援的語言類型;另一個是決定預設用哪一種圖資,比如ldpi,mdpi還是hdpi

product_brand

廠商名字

product_name

産品名字

product_device

裝置名字