這裏主要是遇到兩個問題:第一個是,本身編寫的hal層源碼怎麼添加進Android的默認編譯中去,也就是說在根目錄執行make時,本身編寫hal源碼也會被編譯。第二個問題是,編譯完成後還要自動安裝在指定的系統目錄lib/hw下。源碼
剛開始時不太瞭解,老是須要使用mmm來進行編譯安裝,可是打包以後再編譯這是不現實的。爲此須要添加到默認中去。編譯
通常來講hal層所在的位置在hardware/libhardware/modules目錄下。假如我寫個led的hal層,那麼在modules目錄下創建一個led文件夾便可,在led文件夾添加代碼和Android.mk。對於第一個問題的解決方法是,修改modules目錄下的Android.mk文件,在hardware_modules變量中添加led文件夾的名字便可。這樣在默認中就會自動編譯這個led的文件了。變量
這樣雖然能夠編譯了,可是卻不會自動安裝。那麼安裝這個要修改哪裏呢,找了很久終於找到了,要修改device/samsung/smdkv210/device.mk這個文件中的PRODUCT_PACKAGES變量,在該文件的最後添加PRODUCT_PACKAGES += led.default這行代碼便可。module
有了以上兩個修改,默認就會編譯而且安裝了,其餘的也都相似了。打包
另外還有一個jni層的東西,這個修改添加的文件都是默認被編譯安裝的,只須要添加代碼便可。方法