mtk android 编译过程,Mtk Android编译命令

本文介绍MTK开发中如何高效地使用`./mkn`, `./mkbootimage`, `./mkuboot`等命令进行代码编译,并列举了针对kernel, preloader, uboot等不同模块的构建示例。通过实例指导,快速掌握项目构建流程和常见操作技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://blog.youkuaiyun.com/cbk861110/article/details/9087361

一、输入命令:

./mk help

Usage: (makeMtk|mk) [options] project actions [modules]

Options:

-t, -tee      : Print log information on the standard-out.

-o, -opt=bypass_argument_to_make

: Pass extra arguments to make.

-h, -help     : Print this message and exit.

Projects:

one of available projects.

Actions:

listp, listproject

: List all available projects.

check-env     : Check if build environment is ready.

check-dep     : Check feature dependency.

n, new        : Clean and perform a full build.

c, clean      : Clean the immediate files(such as, objects, libraries etc.).

r, remake     : Rebuild(target will be updated if any dependency updats).

mrproper      : Remove all generated files + config + various backup files in Kbuild process.

bm_new        : "new" + GNU make's "-k"(keep going when encounter error) feature.

bm_remake     : "remake" + GNU make's "-k"(keep going when encounter error) feature.

mm            : Build module through Android native command "mm"

emigen        : Generate EMI setting source code.

nandgen       : Generate supported NAND flash device list.

codegen       : Generate trace DB(for META/Cather etc. tools used).

drvgen        : Generate driver customization source.

custgen       : Generate customization source.

javaoptgen    : Generate the global java options.

ptgen         : Generate partition setting header & scatter file.

bindergen     : Generate binder related information

sign-image    : Sign all the image generated.

encrypt-image : Encrypt all the image generated.

update-api    : Android default build action

(be executed if system setting or anything removed from API).

check-modem   : Check modem image consistency.

upadte-modem  : Update modem image located in system.img.

modem-info    : Show modem version

gen-relkey    : Generate releasekey for application signing.

check-appres  : Check unused application resource.

sdk           : Build sdk package.

win_sdk       : Build sdk package with a few Windows tools.

banyan_addon  : Build MTK sdk addon.

cts           : Build cts package.

bootimage     : Build boot image(boot.img).

cacheimage    : Build cache image(cache.img).

systemimage   : Build system image(system.img).

snod          : Build system image without dependency.

(that is, ONLY pack the system image, NOT checking its dependencies.)

recoveryimage : Build recovery image(recovery.img).

secroimage    : Build secro image(secro.img).

factoryimage  : Build factory image(factory.img).

userdataimage : Build userdata image(userdata.img).

userdataimage-nodeps

: Build userdata image without dependency.

(that is, ONLY pack the userdata image, NOT checking its dependencies.)

target-files-package

: Build the target files package.

(A zip of the directories that map to the target filesystem.

This zip can be used to create an OTA package or filesystem image

as a post-build step.)

updatepackage : Build the update package.

dist          : Build distribution package.

Modules:

pl, preloader : Specify to build preloader.

ub, uboot     : Specify to build uboot.

k,  kernel    : Specify to build kernel.

dr, android   : Specify to build android.

NULL          : Specify to build all components/modules in default.

k : Specify to build kernel component/module with the source path.

dr : Specify to build android component/module with module name.

二、Example:

./mk -t e1k emigen

: Generate EMI setting source code.

./mk -o=TARGET_BUILD_VARIANT=user e1k n

: Start a user mode full build.

./mk listp    : List all available projects.

./mk e1k bootimage

: Build bootimage for e1k project.

./mk e1k bm_new k

: Build kernel for e1k project.

./makeMtk e1k c,bm_remake ub k

: Clean & Build uboot and kernel for e1k project.

./makeMtk e1k n k kernel/xxx/xxx

: Build(full build) kernel component/module

under the path "kernel/xxx/xxx" for e1k project.

./makeMtk e1k r dr Gallery

: Rebuild android module named Gallery for e1k project.

./makeMtk e1k mm packages/apps/Settings

: Change Directory to packages/apps/Settings and execute "mm"

三、 当修改一些代码时,使用什么编译命令可以最有效率

1: ./mk n(r) kernel; ./mk bootimage;当修改kernel相关代码时,要使用此命令,具体如下:

alps/kernel/

alps/mediatek/platform/mt65xx/kernel/

alps/mediatek/source/kernel/

alps/mediatek/customer/mt65xx/kernel/

alps/mediatek/customer/common/kernel/

alps/mediatek/customer/$porject_name$/kernel

......

2: ./mk n pl  当修改preloader相关代码时,要使用此命令,具体如下:

alps/mediatek/platform/mt65xx/preloader/

alps/mediatek/source/preloader/

alps/mediatek/customer/mt65xx/preloader/

alps/mediatek/customer/common/preloader/

alps/mediatek/customer/$porject_name$/kernle

......

3: ./mk uboot  当修改uboot相关代码时,要使用此命令,具体如下:

alps/mediatek/platform/mt65xx/uboot/

alps/mediatek/source/uboot/

alps/bootable/bootloader/uboot/

alps/mediatek/customer/mt65xx/uboot/

alps/mediatek/customer/common/buoot/

alps/mediatek/customer/$porject_name$/uboot/

......

4: ./mk systemimage 当修改system相关代码时使用此命令,具体如下:

alps/frameworks/

alps/packages/

alps/vendor/

alps/hardware/

alps/dalvik/

...........

5: ./mk recoverimage  当修改recover相关代码时使用此命令,具体如下:

alps/bootable/recovery/

alps/mediatek/customer/$project_name$/recovery/

......

6: ./mk factoryimage:  当修改factory相关代码时使用此命令,具体如下:

alps/mediatek/customer/$project_name$/factory/

alps/mediatek/customer/common/factory/

alps/mediatek/source/factory/

......

7: ./mk secroimage  当修改secro相关代码时使用此命令,具体如下:

alps/mediatek/source/secro/

alps/mediatek/customer/$project_name$/secro/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值