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

Android系统移植与调试之------->MTK 标准编译命令的更多相关文章

  1. [置顶] Android系统移植与调试之------->Amlogic方案编译步骤

    1. 拷贝Amlogic的SourceCode 切换目录到  /home/roco/work/amlogic/SourceCode/mx0831-0525下将mx0831-0525.tgz拷贝到  / ...

  2. Android系统移植与调试之------->Amlogic方案编译步骤

    1. 拷贝Amlogic的SourceCode 切换目录到  /home/roco/work/amlogic/SourceCode/mx0831-0525下将mx0831-0525.tgz拷贝到  / ...

  3. Android系统移植与调试之------->如何修改Android手机显示的4G信号强度的格子数

    在修改显示的信号强度之前,先了解一下什么是dB,什么是dBm? 1.dB dB是一个表征相对值的值,纯粹的比值,只表示两个量的相对大小关系,没有单位,当考虑甲的功率相比于乙功率大或小多少个dB时, 按 ...

  4. [置顶] Android系统移植与调试之------->build.prop文件详细赏析

    小知识:什么是build.prop?   /system/build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变,类似於/etc中的文件.这个文件是如 ...

  5. Android系统移植与调试之------->build.prop生成过程分析

    本文简要分析一下build.prop是如何生成的.Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编 ...

  6. Android系统移植与调试之------->build.prop文件详细赏析

    小知识:什么是build.prop?   /system/build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变,类似於/etc中的文件.这个文件是如 ...

  7. Android系统移植与调试之------->如何添加一个adb wifi无线调试的功能【开发者选项】-【Wifi调试】

    首先弄懂怎么设置adb wifi无线调试的功能,如下所示. 1. 手机端开启adb tcp连接端口 :/$setprop service.adb.tcp.port :/$stop adbd :/$st ...

  8. Android系统移植与调试之------->如何修改Android系统默认显示【开发者选项】并默认打开【USB调试】和【未知来源】开关

    今天有个用户对[设置]有个特殊的要求,即: 1.开机的时候默认显示[开发者选项]并打开[USB调试]开关    ([Developer options]-->[USB debugging]) 2 ...

  9. Android系统移植与调试之------->如何修改Android手机NFC模块,使黑屏时候能够使用NFC

    我们都知道在不修改源代码的情况下,只能是解锁之后才能使用NFC功能.而在锁屏和黑屏2个状态下是没办法用NFC的,但是最近有个客户要求手机在黑屏状态下能够使用NFC,因此我们需要去修改Android源代 ...

随机推荐

  1. 网页计算器 && 简易网页时钟 && 倒计时时钟

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. Oracle基础 触发器

    一.触发器 触发器是当特定事件出现时自动执行的代码块.比如,每次对员工表进行增删改的操作时,向日志表中添加一条记录.触发器和存储过程是由区别的:触发器是根据某些条件自动执行的,存储过程是手动条用的. ...

  3. TCP/IP详解 卷一(第十四章 DNS:域名系统)

    域名系统(DNS Domain Name System)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息. 从应用角度上看,对DNS的访问时通过 ...

  4. Maven - error in opening zip file

    在一个maven工程中,有时执行mvn打包,部署,编译等命令,例如mvn clean install -DskipTests -U等命令时,会报类似(error in opening zip file ...

  5. 随想录(做自己代码的測试project师)

    [ 声明:版权全部.欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 非常多project师都有一个不好的习惯,由于大多数itproject师都喜欢写代码.可是不喜欢 ...

  6. js中的四舍五入函数

    刚学到这部分时,感觉特别简单.可最近写个ajax分页时,忽然忘记应该怎么使用哪种函数来计算总的页数...哎,好记星不如烂笔头啊,还是老老实实的写下来吧.随时查看. 1.Math.ceil(x):对x向 ...

  7. 【Lucene】Apache Lucene全文检索引擎架构之构建索引2

    上一篇博文中已经对全文检索有了一定的了解,这篇文章主要来总结一下全文检索的第一步:构建索引.其实上一篇博文中的示例程序已经对构建索引写了一段程序了,而且那个程序还是挺完善的.不过从知识点的完整性来考虑 ...

  8. 使用ALAssetsLibrary读取所有照片

    一. ALAssetsLibrary 介绍 ALAssetsLibrary 提供了访问iOS设备下”照片”应用下所有照片和视频的接口: 从 ALAssetsLibrary 中可读取所有的相册数据,即  ...

  9. Docker DevOps实战: 一分钟搭建Hexo博客

    原文地址:https://yq.aliyun.com/articles/53772 Hexo博客 Hexo 是一个快速.简洁且高效的博客框架.Hexo 使用 Markdown解析文章,在几秒内,即可利 ...

  10. Google 全球 IP 地址库

    ## Google 全球 IP 地址库 IP 地址来源:http://www.kookle.co.nr Bulgaria 93.123.23.1 93.123.23.2 93.123.23.3 93. ...