android 系统定制之编译方法总结

 

./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     

 

说明:这是实习工作的过程之中总结遇到各种问题总结的,但是没有统一整理.

你可能感兴趣的:(android)