北极光之吻 发表于 2013-1-14 17:57:46

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 工程名 mmpackages/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:  如何编译工程版本
         ./mknew
 
./mk分析
(makeMtk|mk) project actions
 
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
                          ./mkr dr     
 
说明:这是实习工作的过程之中总结遇到各种问题总结的,但是没有统一整理.
页: [1]
查看完整版本: android 系统定制之编译方法总结