简诉android源代码编译过程,Android源码编译过程及原理(二)

本文详细介绍了Android系统的编译结构,包括build/core、子项目目录和编译结果输出目录out/。主要关注编译中枢main.mk的解析,解释了如何通过Android.mk文件编译子项目,并涉及到编译流程、目标设定以及dex优化。此外,还提及了产品类型检查、PDK的Java支持级别以及使用脚本findleaves.py进行子项目Android.mk文件的包含。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在未来等风也等你

本节主要记录的内容anroid 编译系统的结构

编译中枢中main.mk的基本解析

除非特别说明本节中的目录都是基于android的源码目录

1. android 编译系统的结构

android的编译系统可以分为三部分:build/core: 在这个目录中包含了大量的.mk文件

子项目:每个子项目都包含自己的Android.mk,在编译时会被包含进去,而如何编译子项目是由Andorid.mk文件所决定的3

out/:编译结果输出到该目录下,编译的结果可以是jar包,apk,也可以是二进制的文件等

在Android系统主要就是根据.mk文件进行编译的。

他们之间的关系如下:

AAffA0nNPuCLAAAAAElFTkSuQmCC

编译关系

基本的流程是:在我们编译系统时输入make后会默认搜索当前目录下的Makefile文件,它的内容如下:### DO NOT EDIT THIS FILE ###include build/core/main.mk### DO NOT EDIT THIS FILE ###

可见它仅仅是包含了一个main.mk文件,说明了main.mk将会是系统编译的重要所在。在系统编译的时候将会包含很多的子项目,对于如何编译子项目是由子项目的Android.mk文件决定的

在编译执行完成之后,编译结果大部分将会存储在out/target/..下

2. 编译中枢中main.mk的基本解析决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值