./mk new //在进入到项目的目录之后就可以用这个命令来编译
Q:如何编译release版本(user)
出用户版本的时候必须加-o=TARGET_BUILD_VARIANT=user
A: ./mk -o=TARGET_BUILD_VARIANT=user {PROJECTNAME} new
提示:在命令行下没输入./mk help 就可以得到-o后面的部分改些什么了
如果是第一次编译的话,必须加工程名:工程名可以在mediatek/config/下面找到,
这里是ztenj77_sz_cu_ics2
也就是命令: ./mk -o=TARGET_BUILD_VARIANT=user ztenj77_sz_cu_ics2 new
Q: 如何编译单个模块
A: ./mk 工程名 mm packages/app/settings //经真实验证不需要工程名可以
packages/app/settings这个目录下必须有完整的Android.mk,编译生成的文件放在out/target/product/{PROJECTNAME}/system/app下。
B.
1.$ mmm packages/apps/contacts/ //编译指定目录的模块:如联系人
编译之后生产2个文件
Out/target/product/generic/data/app/contacts.apk
Out/target/product/generic/system/contacts.apk
2.$ make snod
Q: 如何快速编译(不是重新编译,是以更新的方式编译)
./mk -o=TARGET_BUILD_VARIANT=user {PROJECTNAME} r dr
Q: 如何编译工程版本
./mk new
./mk分析
(makeMtk|mk) [options] project actions [modules]
Options: -t, -tee
-o,-opt=bypass_argument_to_make
-h, -help
Project:工程名
Actions: n,new 重新编译,并删除之前的的编译得出的文件
r,remake 以更新的方式编译
mm 编译一个模块:后面接文件路径,该路径下要有xx.mk文件
modules : pl,preloader
ub,uboot
k,kernel
dr,android
null :编译所用的模块也就是上面的4个一起编译
常用的编译方式组合: ./mk new k ub pl
./mk r dr
说明:这是实习工作的过程之中总结遇到各种问题总结的,但是没有统一整理.