Android开发程序员技术栈

Android系统编译流程详解

2019-06-06  本文已影响2人  Lee_5566

目录

第一篇:android源码编译(ubuntu16.04 64位)
第二篇:编译补充(关于下载代码和内存不足问题)
第三篇:Android系统编译流程详解

android 编译系统编译过程

  1. source build/envsetup.sh:初始化编译环境,加载相关命令
  2. lunch:选择平台编译选项
  3. make -j8:执行编译(其中-j参数表示指定编译线程数,建议cpu核心数乘2即可)
build/envsetup.sh脚本

由于脚本内容过多,截取部分:

image.png
脚本代码依次查找{device, vendor, product}目录下的vendorsetup.sh文件,并分别导入到当前环境中来!
image.png
lunch

lunch的作用:


image.png

等待我们选择编译的平台,这里所谓的平台说白了就是指我们所编译的系统适合运行在什么设备上,并且是user版本还是eng版本,又或者说是debug版本,我们确定版本之后,输入数字按回车就选择好了!

简单介绍下三个版本:

lunch实现截图:(函数实现文件build/make/envsetup.sh)

image.png

android 编译系统的结构

android的编译系统可以分为三部分:

build/core目录节选
image.png
比较重要的是其中的main.mk文件.

由于比较长,只能截取一部分了:


image.png

参考

Android源码编译过程及原理(二)
Aandroid源码编译详解(一)
Android源码编译详解(二)

上一篇 下一篇

猜你喜欢

热点阅读