zoukankan      html  css  js  c++  java
  • 【Android】MTK Android 编译命令

    命令格式:./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 打包


    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)


    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


    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


    ./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

    专注移动互联网产品设计研发 分享最新的移动互联网产品和技术
  • 相关阅读:
    学习工具
    Qt 之 QApplication
    Qt中常用的类
    关于在Qt里让程序休眠一段时间的方法总结
    Qt setWindow setViewPort
    ajax回调数据 Structs has detected an unhandled exception 问题
    Struts2配置拦截器自定义栈时抛异常:Unable to load configuration.
    es6之map解构数组去重
    ES6之对象的方法
    ES6之genorator和yield使用(迭代器)
  • 原文地址:https://www.cnblogs.com/liang123/p/6325480.html
Copyright © 2011-2022 走看看