Android编译之lunch命令

google官方给的编译步骤

官方的详细编译步骤见
http://source.android.com/source/building.html

按照google给出的编译步骤如下:

  1. source build/envsetup.sh:加载命令;这个命令是用来将envsetup.sh里的所有用到的命令加载到环境变量里去。
  2. lunch:选择平台编译选项
  3. make:执行编译

envsetup的作用

  1. 加载了编译时使用到的函数命令,如:help,lunch等
  2. 添加了两个编译选项:generic-eng和simulator,这两个选项是系统默认选项
  3. 查找vendor/<-厂商目录>/和vendor/<厂商目录>/build/目录下的vendorsetup.sh,如果存在的话,加载执行它,添加厂商自己定义产品的编译选项
    其实,上述第3条是向编译系统添加了厂商自己定义产品的编译选项,里面的代码就是:add_lunch_combo xxx-xxx。

如果要想定义自己的产品编译项,vendor目录下创建自己公司名字,然后在公司目录下创建一个新的vendorsetup.sh,在里面添加上自己的产品编译项。

lunch 后的选择的项的含义

lunch命令是envsetup.sh里定义的一个命令,用来让用户选择编译项,来定义Product和编译过程中用到的全局变量。
user:权限受限;适用于生产环境
userdebug:与“user”类似,但具有root权限和可调试性;是进行调试时的首选编译类型
eng:具有额外调试工具的开发配置

在main.mk里有说明,在Android的源码里,每一个目标(也可以看成工程)目录都有一个Android.mk的makefile,每个目标的Android.mk中有一个类型声明:LOCAL_MODULE_TAGS,这个TAGS就是用来指定,当前的目标编译完了属于哪个分类里。

编译

make -jN 开始编译。N根据自己的CPU来填适当的值。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值