編譯指令
1 編譯環境
source build/envsetup.sh //搭建編譯環境
//目前bash環境下讀取并執行FileName中的指令
lunch (選數字)full_len6737t_66_sh_n-userdebug //選擇編譯工程
2 全部編譯
全部編譯 make -j24 或者 make -j24 2>&1
3 部分編譯
find ./ -exec touch {} \; #目前./目錄下的所有檔案及子目錄下的檔案全部touch一遍
git status | grep modified | awk '{print $2}' | xargs -i touch {}
#相當于把git status 裡的用modified 為字首的檔案全部touch一遍
touch device/lentek/len6737t_66_sh_n/system.prop
4 是否編譯成功
在編譯出來的out的目錄裡看
kernel: out\target\product\len6737t_66_sh_n\obj\KERNEL_OBJ\drivers\*
lk: out\target\product\len6737t_66_sh_n\obj\BOOTLOADER_OBJ
pl: out\target\product\len6737t_66_sh_n\obj\PRELOADER_OBJ
5 更新檔案後編譯
5.1 更新檔案時間
find ./ -exec touch {} \; #目前./目錄下的所有檔案及子目錄下的檔案全部touch一遍
git status | grep modified | awk '{print $2}' | xargs -i touch {}
#相當于把git status 裡的用modified 為字首的檔案全部touch一遍
touch device/lentek/len6737t_66_sh_n/system.prop
懷疑檔案是否沒有編譯進去,又不能加 log 等部分 eg: 攝像頭效果檔案替換
5.2 删除同名檔案之後編譯
find ./out/ -name "\*imx230\*" | xargs -i rm {} -rf #在out目錄下删除檔案名中帶有"imx230"的檔案
touch device/lentek/len6737t_66_sh_n/system.prop #每個工程路徑不同,但大同小異