编译流程:makefile--->main.mk--->config.mk(含:board_config.mk、envsetup.mk、product_config.mk)。
1、Applications->Accessories->Terminal进入命令行界面
2、用cd命令切换到代码文件夹
3、如果不知道当前想需要编译的工程名是什么,可以用 ./mk listp查看工程名
4、如果编译真机:./mk工程名 new (带Modem log)
./mk-o=TARGET_BUILD_VARIANT=user工程名new
如果编译sdk架包: ./mk 工程名 skd
如果编译sdk-addon:./makeMtkbanyan_addon,这个一般用于替换google的sdk,
生成mtk自己的模拟器
5、修改驱动编译:./mk c r k pl ub ./mk bootimage
6、模块编译:先执行:. build/envsetup.sh
再执行: mmm packages/apps/Phone/
如果以上步骤不行,做如下修改试一下:
vi .bashrc(注:android/ics为代码路径)
export PATH=${PATH}:/android/ics/build/tools:/usr/bin
export BUILD_PV_2WAY=1
export BUILD PV_TEST_APPS=1
source /home/luohong/android/ics/build/envsetup.sh
注:经验证MTK75.4.0的代码:
./mk mm packages/app/Contacts/ 是OK的(无需.build/evnsetup.sh)
./mk mmm packages/app/Contacts/ 是不行的。
7、可直接安装使用的*.apk文件:
a. new出来的在/out/target/product/$PROJECT/system/app/..目录下获取;
b. mmm出来的在/out/target/product/generic/system/app/....目录下获取。
8、makeclean:清除你刚刚编译出的二进制文件。
makeclobber:清除所有组合下的二进制文件,不同的是 make clobber 会把存储目标文件的out目录删除。
9、frameworks/base/packages/SettingsProvider/resalues/default.xml:r android
10、buildinfo.sh ----------./mk new