相信各位和我一样正在研究Android内核的朋友们在经过漫长的源码下载的等待后,喜悦的拿到了源代码开始编译。可是在编译过程中,也会和下载一样出现各种各样的不顺。在这里我记录了一下本人在编译过程中的所有问题,如有疏漏,欢迎朋友们指出。
下面是按照正常编译流程记录的所需步骤和操作,可能遇到的问题会在后面讲述。
步骤一:初始化编译环境
首先进入android源码所在目录,然后在Linux终端执行以下命令来完成编译初始化:
# source build/envsetup.sh
envsetup.sh是个Linux脚本文件,它主要用来初始化一些编译命令,如:m,cgrep等等。在执行了envsetup.sh命令后可以看到终端输出如下信息:
including device/samsung/maguro/vendorsetup.sh
including device/samsung/tuna/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including sdk/bash_completion/adb.bash
在envsetup脚本中定义了一写shell函数。当我们通过souce命令执行envsetup之后,就可以在Linux终端执行这些函数。可以执行help命令来查看envsetup.sh脚本中定义的命令。
步骤二:选择目标
这里使用lunch命令来设置编译目标,默认为full-eng。命令如下:
# lunch
可以看到终端输出如下:
You're building on Linux
Lunch menu...