"Android的构建系统主要基于Make工具,它通过一系列的Makefile文件协同工作,以编译和构建不同的模块,包括Java库、C/C++库、APK应用、可执行文件等。整个过程始于源码根目录下的Makefile,该文件包含build/core/main.mk,后者再进一步包含其他Make文件,形成复杂的包含关系。这些Make文件位于build/core/目录下,其中黄色标记的文件尤其关键。 主要的Make文件包括: 1. main.mk:这是构建系统的主入口,负责环境检查,引入其他Make文件,并定义主要的构建目标如'droid'和'sdk'。 2. help.mk:提供'help'目标,列出所有主要的构建目标及其说明。 3. pathmap.mk:创建头文件路径的映射表,便于查找和包含所需的头文件路径。 4. envsetup.mk:配置环境变量,确定主机平台信息并设定输出路径。 5. combo/select.mk:根据当前平台选择相应的平台特定Make文件。 6. dumpvar.mk:在构建开始前展示配置信息。 7. config.mk:最重要的配置文件,定义了常量来处理不同模块的编译,设置编译器参数,处理文件后缀,并根据BoardConfig.mk配置产品特定参数,同时设定工具路径。 在Android源码中,模块类型多样,如Java库、C/C++库(静态或动态)、APK应用和可执行文件。每种模块的编译步骤和方法都有所不同。为了统一处理,config.mk定义了一系列常量,每个常量对应一种模块类型的构建规则,例如: - BUILD_HOST_STATIC_LIBRARY:用于构建主机的静态库。 - BUILD_HOST_SHARED_LIBRARY:构建主机的共享库。 - BUILD_STATIC_LIBRARY:构建设备的静态库。 - BUILD_SHARED_LIBRARY:构建设备的共享库。 - BUILD_EXECUTABLE:构建可执行文件。 - BUILD_PACKAGE:构建APK包。 - 其他常量则用于构建预编译的、多平台的Java库、静态Java库等。 通过这些常量,Android构建系统能够灵活地处理不同类型的组件,确保在主机和目标设备上的一致性和兼容性。整个构建过程是一个复杂的交互过程,涉及到多个层次的Makefile和配置,确保了Android系统的可定制性和高效构建。
下载后可阅读完整内容,剩余8页未读,立即下载
- 粉丝: 351
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展