编译android4.2.2
上一篇中介绍了如何编译android4.2.2源码前的准备工作,现在介绍android源码编译流程。这里我们编译一个ARM处理器的模拟器版本。
- 执行envsetup.sh脚本
- 执行lunch命令,可以显示出可供编译的目标
- 在上图中看到有eng版本,userdebug版本,还有user版本我没有截图上去,这三者的区别如下
eng:debug版本 ,执行adb shell命令时,默认是root用户,权限最高
user: release版本 最终发布版本,权限低
userDebug版本:部分debug版,我没用过
在终端输入1,即选择的是full-eng版本,接着会列出一些编译信息 - 执行make -jN开始编译android源码,这里N代表要开启几个线程来编译,N的具体取值与虚拟机中的ubuntu系统
配置有关,N 的取值有CPU核心数决定,N=2*CPU核心数。但是建议几个G内存,N就取几,比如我的虚拟机是四核处理器、2G内存,我设置的N为2.当出现一些编译错误的时候,如
果实在找不出原因,那么可以尝试将N值缩小点,说不定就编译过去了,我就遇到过这个问题。 - 经过两个小时左右的时间(具体多长时间与虚拟机配置有关),编译成功后在android源码目录中
out/target/product/generic中生成android系统镜像 - 编译成功后,可以到上一篇中我们设置的缓存文件夹中看看是不是有东西生成,这些都
可以加速编译其他android版本