配套系列教学视频链接:
Android 10.0 AOSP源码编译:
https://www.100ask.net/detail/p_60a1e037e4b0adb2d864c6d8/6
Android 10.0 根文件系统和编译系统:
https://www.100ask.net/detail/p_60ab34b7e4b00176519e388c/6
说明
系统:AOSP Android10.0
设备:Android模拟器
前言
本章节重点介绍AOSP下载后的Android10.0源码目录结构, 方便大家对Android源码有一个总体的认识。
一, 顶层目录
| 目录名 |
说明 |
| art/ |
Anroid RunTime(Android运行环境),Android5.0之后java虚拟机就使用ART |
| bionic/ |
基础C库源代码,Android改造的C/C++库, 比传统的glibc更精简,不受GPL限制,支持 pthread_cancel(), 不支持C++ exception和C++ STL模板编程。 |
| bootable/ |
包含了recovery程序(恢复出厂/升级)的代码。 |
| build/ |
Android编译系统,定义了各种编译规则,并包含通用产品配置。 |
| cts |
Android兼容性测试套件,CTS 是一个自动化测试套件,包含PC端和设备端(被测设备), 对手机的硬件,软件,接口,性能进行测试 ,测试项目包含平台 API 测试,平台 Intent,蓝牙设备的连接状况, 相机拍照功能等,通过make cts编译, out/host/linux-x86/cts/下生成android-cts文件夹。 由于Android是开源的,对于Google Android的开发联盟中的Motorola、Samsung、Qualcomm 、Sony Ericsson、中国移动、ZTE、华为等,底层的代码也是开放的。手机制造商及运营商可以在Android上打造,定制自己特有的手机操作系统,这势必在源码级别上对Android系统进行代码的添加和更改。如果不规范这些更改则会给上层的应用开放的移植带来问题(那个时候你会看到MOTO上跑的愤怒的小鸟会在三星的Android手机上运行不了,每个应用需要都要发布不同厂商的Android手机的版本),只有通过CTS测试的Android手机系统,Google才会颁发许可,以保证不同生产商之间的Android系统的兼容。 |
| dalvik |
Android Dalvik虚拟机相关内容,主要是提供了一下工具,如dexdump, vm主代码已经移除 |
| developers |
开发者目录, 一些应用程序的参考实例demo代码 |
| development |
提供应用开发的工具, 应用例子,monkey命令,shell脚本和python脚本: development/scripts/stack:用于展开进程异常时的堆栈信息, 配合tombstone文件 development/scripts/gdbclient.py: 用于gdb调试 development/scripts/native_heapdump_viewer.py脚本将dumpheap进程结果转换成更易读的html格式 development/tools/make_keys: 系统签名生成器 development/tools/idegen: 用于生成android.ipr、android.iml IEDA工程配置文件,可以用android studio来导入android源码 |
| device |
设备产品定制目录, 该目录是厂商和产品公司定制文件比较多的地方 |
| vendor |
厂商定制目录,该目录可以新建出来 |
| external |
外部第三方开源的库和工具,比如ppp, wpa_supplicant, libz, libcurl等 |
| frameworks |
Android 应用框架层核心代码, 包括各种系统资源, 后台服务, SystemUI, 大部分都是java代码, 同时也包含了各种子系统的native代码, 如av, net等 |
| hardware |
硬件抽象层代码, 如gps, wifi, viberate |
| kernel |
内核源码,厂商可以将内核源码集成到该目录 |
| libcore |
Android 系统中支持众多 Java 标准的库,例如 java.lang 包,libart库,JSON库 luni/src/main/java/java/nio ojluni/src/main/java/sun ojluni/src/main/java/java/io ./ojluni/src/main/jav |

本文深入解析Android 10.0 AOSP源码结构,涵盖顶层目录至细节,包括ART runtime、C/C++库、编译系统、CTS测试、框架层代码与系统组件,助您理解整体架构。
最低0.47元/天 解锁文章
1140

被折叠的 条评论
为什么被折叠?



