在Android系统中,Lichee编译脚本主要用于构建针对特定硬件平台的系统镜像,如bootloader、kernel等核心组件。这篇文档将详细解析Lichee编译脚本的工作流程,以及如何根据不同的参数进行编译。 我们看到在标题中提到的“android lichee编译脚本解析”,这表明我们将探讨的是Android系统与Lichee项目相结合的编译过程,主要涉及bootloader和kernel的编译。描述中提到了“3.2 standby中的Makefile在/work/ct/lichee/linux-3.3/arch/arm/mach-sun7i/pm/standby”,这是Linux内核3.3版本中,针对Sun7i平台电源管理(PM)部分的Makefile文件,用于standby模式的编译。 接下来,我们分析编译流程。在lichee目录下,通过执行`./build.sh -p sun7i_android -k 3.4`命令来启动编译。`build.sh`脚本是整个编译过程的入口点,它使用了`set -e`来确保任何导致非零退出状态的命令都会使整个脚本立即停止,以保证编译的准确性。 `build.sh`调用了`scripts/mkcommon.sh`脚本,该脚本中定义了一些通用功能,比如检查命令行参数、设置变量等。其中,`DEFINE_string`函数是shflags库的一部分,用于定义命令行选项,例如`platform`、`kernel`、`board`和`module`。这些参数在后续的编译过程中起到关键作用,允许用户自定义编译目标,如平台、内核版本、开发板型号和模块。 在解析命令行参数后,脚本会根据传入的参数值进行相应的操作。例如,当用户指定`module=kernel`时,脚本会专注于编译内核;若`module=boot`,则会处理bootloader相关的编译任务。 在`mkcommon.sh`中,还有一段关于`build_pack.sh`的代码,这表明还有一个用于打包编译结果的脚本,通常在编译完成后用于生成可以烧录到设备上的镜像文件。 Android Lichee编译脚本的流程包括以下几个关键步骤: 1. 解析命令行参数,确定编译的目标(如平台、内核版本、开发板类型和模块)。 2. 根据参数值执行相应的编译任务,如编译内核、bootloader等。 3. 如果指定打包选项,将编译结果打包成可烧录的镜像文件。 理解这个编译脚本的工作原理对于开发者来说至关重要,因为这样他们可以根据自己的需求定制编译过程,从而优化Android系统在特定硬件平台上的性能和兼容性。
剩余29页未读,继续阅读
- yangyi10182016-05-04不错,好用的资源
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 学校课程软件工程常见10道题目以及答案demo
- javaweb新手开发中常见的目录结构讲解
- 新手小白的git使用的手册入门学习demo
- 基于Java观察者模式的info-express多对多广播通信框架设计源码
- 利用python爬取豆瓣电影评分简单案例demo
- 机器人开发中常见的几道问题以及答案demo
- 基于SpringBoot和layuimini的简洁美观后台权限管理系统设计源码
- 实验报告五六代码.zip
- hdw-dubbo-ui基于vue、element-ui构建开发,实现后台管理前端功能.zip
- (Grafana + Zabbix + ASP.NET Core 2.1 + ECharts + Dapper + Swagger + layuiAdmin)基于角色授权的权限体系.zip