Android编译之lunch命令

简介: Android编译之lunch命令

google官方给的编译步骤

官方的详细编译步骤见

http://source.android.com/source/building.html


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


source build/envsetup.sh:加载命令;这个命令是用来将envsetup.sh里的所有用到的命令加载到环境变量里去。

lunch:选择平台编译选项

make:执行编译

envsetup的作用

加载了编译时使用到的函数命令,如:help,lunch等

添加了两个编译选项:generic-eng和simulator,这两个选项是系统默认选项

查找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来填适当的值。


相关文章
|
2月前
|
Android开发
安卓SO层开发 -- 编译指定平台的SO文件
安卓SO层开发 -- 编译指定平台的SO文件
32 0
|
3月前
|
Java Shell Linux
Android——编译(一):编译make的基础知识
Android——编译(一):编译make的基础知识
71 0
|
3月前
|
Java Shell Linux
Android——编译(二):android.mk的相关知识
Android——编译(二):android.mk的相关知识
97 0
|
3月前
|
Shell Android开发
RK android13编译环境搭建与常用编译命令
RK android13编译环境搭建与常用编译命令
76 0
|
2月前
|
Java Shell Android开发
安卓逆向 -- 常用命令与分区目录
安卓逆向 -- 常用命令与分区目录
25 1
|
3月前
|
开发工具 Android开发
QGroundControl Qt安卓环境搭建及编译出现的问题
QGroundControl Qt安卓环境搭建及编译出现的问题
62 0
|
3月前
|
Java Go Android开发
Android——编译(三):android.bp的相关知识
Android——编译(三):android.bp的相关知识
162 0
|
4月前
|
编解码 Ubuntu Java
Android 编译Android7.0版本源码
Android 编译Android7.0版本源码
|
4月前
|
开发工具 Android开发 开发者
Android 项目编译 Gradle 配置说明
Android 项目编译 Gradle 配置说明
152 0
|
4月前
|
算法 Java 开发工具
Android 编译C++
Android 编译C++

推荐镜像

更多