Android系统移植与调试之------->MTK 标准编译命令

简介: 命令格式:./maketek [option] [project] [action] [modules]Option:   -t ,-tee :输出log信息到当前终端   -o , -opt=…… : 编译附加条件,一般使用-opt=TARGET_BUILD...
命令格式:./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
相关文章
|
3月前
|
存储 消息中间件 人工智能
【03】AI辅助编程完整的安卓二次商业实战-本地构建运行并且调试-二次开发改注册登陆按钮颜色以及整体资源结构熟悉-优雅草伊凡
【03】AI辅助编程完整的安卓二次商业实战-本地构建运行并且调试-二次开发改注册登陆按钮颜色以及整体资源结构熟悉-优雅草伊凡
137 3
|
3月前
|
缓存 Unix Android开发
Android安卓项目调试之Gradle 与 Gradle Wrapper的概念以及常用gradle命令深度详解-优雅草卓伊凡
Android安卓项目调试之Gradle 与 Gradle Wrapper的概念以及常用gradle命令深度详解-优雅草卓伊凡
334 8
|
3月前
|
存储 API Android开发
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
199 4
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
|
3月前
|
Linux 测试技术 语音技术
【车载Android】模拟Android系统的高负载环境
本文介绍如何将Linux压力测试工具Stress移植到Android系统,用于模拟高负载环境下的CPU、内存、IO和磁盘压力,帮助开发者优化车载Android应用在多任务并发时的性能问题,提升系统稳定性与用户体验。
271 6
|
3月前
|
Java 数据库 Android开发
基于Android的电子记账本系统
本项目研究开发一款基于Java与Android平台的开源电子记账系统,采用SQLite数据库和Gradle工具,实现高效、安全、便捷的个人财务管理,顺应数字化转型趋势。
|
8月前
|
安全 搜索推荐 Android开发
Android系统SELinux安全机制详解
如此看来,SELinux对于大家来说,就像那位不眠不休,严阵以待的港口管理员,守护我们安卓系统的平安,维护这片海港的和谐生态。SELinux就这样,默默无闻,却卫士如山,给予Android系统一份厚重的安全保障。
281 18
|
9月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
10月前
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
1328 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
Java 调度 Android开发
android体系课-系统启动流程-之zygote进程启动过程源码分析
笔者刚开始学习Android的时候也和大部分同学一样,只会使用一些应用层面的知识,对于一些比较常见的开源框架如<mark>RxJava</mark>,<mark>OkHttp</mark>,<mark>Retrofit</mark>,以及后来谷歌推出的<mark>协程</mark>等,都只在使用层面,对于他们<mark>内部原理</mark>,基本没有去了解觉得够用就可以了,又比如Activity,Service等四大组件的使用原理,系统开机过程,Launcher启动过程等知之甚少,知其然而不知其所以然,结果就是出现某些问题,不知道从哪里找原因,只能依赖万能的百度,但是百度看多了,你会发现自己