這里主要是遇到兩個問題:第一個是,自己編寫的hal層源碼怎么添加進(jìn)Android的默認(rèn)編譯中去,也就是說在根目錄執(zhí)行make時,自己編寫hal源碼也會被編譯。第二個問題是,編譯完成后還要自動安裝在指定的系統(tǒng)目錄lib/hw下。
剛開始時不太了解,總是需要使用mmm來進(jìn)行編譯安裝,但是打包之后再編譯這是不現(xiàn)實的。為此需要添加到默認(rèn)中去。
一般來說hal層所在的位置在hardware/libhardware/modules目錄下。假如我寫個led的hal層,那么在modules目錄下建立一個led文件夾即可,在led文件夾添加代碼和Android.mk。對于第一個問題的解決方法是,修改modules目錄下的Android.mk文件,在hardware_modules變量中添加led文件夾的名字即可。這樣在默認(rèn)中就會自動編譯這個led的文件了。
這樣雖然可以編譯了,但是卻不會自動安裝。那么安裝這個要修改哪里呢,找了好久終于找到了,要修改device/samsung/smdkv210/device.mk這個文件中的PRODUCT_PACKAGES變量,在該文件的最后添加PRODUCT_PACKAGES += freg.default這行代碼即可。
有了以上兩個修改,默認(rèn)就會編譯并且安裝了,其他的也都類似了。
另外還有一個jni層的東西,這個修改添加的文件都是默認(rèn)被編譯安裝的,只需要添加代碼即可。
下一篇 在大學(xué)中獲得全面的成長