mtk Android 常用編譯命令
阿新 • • 發佈:2019-02-11
認真看過的才轉載的哈!
很詳細的總結了MTK平臺的編譯命令,包括修改模組時候的快速編譯等。
——————————————————————————————————————————————————————
一、
命令格式:./maketek [option] [project] [action] [modules]
Option:
-t ,-tee :輸出log資訊到當前終端
-o , -opt=…… : 編譯附加條件,一般使用-opt=TARGET_BUILD_VARIANT=user來編譯使用者板軟體
-h ,help : 列印幫助資訊並退出
Project : 工程名,例如:basicom72_wet_jb3
Action :
n , new : 重新編譯整個工程
c , clean:清理編譯時copy的檔案及log資訊
r , remake:整個工程檢查修改部分並編譯
listp , listproject: 檢視目前所有的project
codegen : 生成database
nandgen : 生成nand_device_list.h (僅限使用nand flash 時使用)
check-env : 檢查編譯環境是否OK
check-dep :檢查功能依賴性
check-modem :檢查modem
update-modem :更新最新的modem.img 到system.img
mm : 用來編譯APK模組,如:./mk mm package/apps/deskclok
emigen : 生成flash相關檔案(custom_emi.c/.h)
modules:
二、
編譯模組:preloader , uboot ,kernel , android簡寫:pl , ub , k , dr
三、
其他常用命令:./mk $project new 首次編譯需要寫出工程名稱,後續可以省略
./mk $project r(n) pl(/ub/k/dr) remake or new 單個模組,如:./mk r ub 編譯kernel時,需同時做打包到bootimage 操作,原因是kernel部分是最終打包到bootimage 裡面,然後燒錄進flash的
./mk bootimage/snod/systemimage 打包模組
./mk otapackage 編譯製作SD卡系統升級包,生成的zip包在out/target/product/project/目錄下
./mk banyan_addon 編譯MTK sdk 包
三、
模組修改及對應的編譯命令:
修改DWS 後,首先gencode 或者通過命令./mk drvgen 使其生成相應的.h/.c檔案,這個檔案會被preloader uboot kernel 呼叫,因此需要new preloader uboot kernel 而kernel 還需進一步./mk bootimage 打包
四、
快速編譯
1、Preloader 快速編譯:修改以下目錄或檔案需要 ./mk r(n) pl
Mediatek/platform/$platform/preloader/…
Mediatek/custom/$platform/preloader/…
Mediatek/custom/common/preloader/…
Mediatek/custom/$project/preloader/…
Mediatek/custom/$project/common/下的標頭檔案
Mediatek/custom/$project/kernel/dct/下的標頭檔案(cust_kpd.h,cust_gpio_usage.h)
2、Uboot 快速編譯:
修改以下檔案或目錄需要./mk r(n) ub
Bootable/bootloader/uboot/…
Mediatek/platform/$platform/uboot/…
Mediatek/custom/$platform/ uboot /…
Mediatek/custom/common/ uboot /…
Mediatek/custom/$project/ uboot /…
Mediatek/custom/$project/common/下的標頭檔案
Mediatek/custom/$project/kernel/dct/下的標頭檔案(cust_kpd.h,cust_gpio_usage.h)
Mediatek/custom/common/kernel/lcm/inc/lcm_drv.h
Mediatek/custom/common/kernel/leds/inc/cust_leds.h
3、Kernel 快速編譯:
修改以下檔案或者目錄需要./mk r(n) k 然後執行./mk bootimage打包成boot.img
Kernel/…
Mediatek/platform/$platform/kernel/…
Mediatek/source/kernel/…
Mediatek/custom/$platform/kernel/,.,,
Mediatek/custom/common/kernel/…
Mediatek/custom/$project/kernel/…
Mediatek/custom/$project/common/下的標頭檔案
Mediatek/custom/common/hal/下的標頭檔案
Mediatek/custom/$project/hal/下的標頭檔案
./mk bootimage
打包生成$PRODUCT_OUT/boot.img
打包生成$PRODUCT_OUT/ramdisk.img
4、其他打包命令:
./mk recoveryimage
根據依賴會先生成boot.img
打包生成$PRODUCT_OUT/recovery.img
./mk snod/systemimage-nodeps
打包生成$PRODUCT_OUT/system.img 但不檢查任何依賴性
./mk systemimage
打包生成$PRODUCT_OUT/system.img 檢查任何依賴性
./mk cacheimage
打包生成$PRODUCT_OUT/cache.img
./mk userdataimage
打包生成$PRODUCT_OUT/userdata.img
./mk secroimage
打包生成$PRODUCT_OUT/secro.img