《MT72构建文档》是一份详尽指导手册,旨在为工程师和开发者提供MT72硬件平台从初始化设置到最终产品构建全过程的技术支持与操作指南。
根据提供的文档信息,本段落将对MT72 Build文档中的关键知识点进行详细解析,重点围绕MTK智能机开发中关于Build系统的相关内容。
### MT72 Build系统概述
MT72 Build系统是MediaTek针对其智能手机平台设计的一套集成化的构建体系。它主要负责将源代码编译成可以在目标设备上运行的软件包,包括但不限于内核、预加载器(preloader)、Uboot、lk、Android系统等组件。该系统基于Makefile进行构建,并通过一个统一的入口程序“makeMtk”来启动整个构建流程。
### 构建系统框架
#### 主要入口程序“makeMtk”
- **集成MTK构建流**:“makeMtk”作为整个构建过程的核心入口点,集成了MediaTek的构建流程,确保所有构建步骤都能按照预定顺序执行。
- **包装内核与Android原生构建命令**:它不仅负责调用内核的构建命令,还负责调用Android原生代码的构建命令,实现对这些关键组件的统一管理。
- **主要功能**:提供新构建(new)、重新构建(remake)、清理(clean)等选项,以满足不同的构建需求。
- **内部结构**:
- **环境检查**:在构建前检查必要的环境配置是否正确。
- **包装命令**:对各种构建命令进行封装,简化用户的操作步骤。
- **内部设置**:包括特定于MediaTek的构建设置和参数。
- **MTK流程**:定义了具体的构建步骤和逻辑。
- **Makemtk.mk**:主要的Makefile文件,用于配置构建行为。
- **其他辅助脚本和工具**:如preloader构建脚本、内核构建系统等,支持不同模块的构建需求。
### MTK客制化流程
MT72构建系统还包括一套完整的客制化流程,允许用户根据实际项目需求定制自己的软件堆栈。具体步骤如下:
- **custgen**:生成客户特定的配置文件。
- **check-dep**:检查依赖项是否满足要求。
- **drvgencodegennandgenemigenptgenjavaoptgen**:生成驱动、代码、NAND Flash配置、嵌入式多媒体引擎配置、平台工具以及Java优化配置等。
- **gen-relkey**:生成发布密钥。
- **check-modembuildandconfigmodemforALPSsign-modem**:校验、构建并配置调制解调器,最后对其进行签名。
### Android构建系统
#### 环境需求
安装建议:强烈建议遵循提供的标准操作程序(SOP)来安装环境和工具,注意版本号的匹配性,避免因工具版本过高而导致的问题。
#### Android模块
- **静态共享库、主机目标Java二进制文件、可执行文件、APK、JavadocDroidDoc**:构建过程中会生成这些类型的文件,以支持系统的运行和维护。
#### Android镜像
- **Kernel相关的镜像**:Boot镜像、Recovery镜像。
- **带有文件系统的镜像**:System镜像、Cache镜像、Userdata镜像、Secro镜像。
- **OTA更新**:提供OTA更新机制,方便用户进行系统升级。
- **Banyan_addon**:特定于MediaTek的附加组件或服务。
MT72 Build系统为MediaTek智能手机平台提供了全面且灵活的构建解决方案,能够有效支持从环境搭建到最终产品发布的全过程。