有关Android开源项目中每个项目的说明

时间:2017-04-24 12:40:24

标签: android-source

在Android开源项目(AOSP)中,有近500个项目。 我想要描述每个项目以及他们的角色。

1 个答案:

答案 0 :(得分:6)

以下是您下载Android源代码时的简短版本。

  • Bionic - Android的C-runtime。请注意Android没有使用 像大多数Linux发行版一样glibc。而是调用c库 仿生,主要基于BSD衍生的来源。在这个文件夹中你 将找到c-library,math和其他核心运行时的源代码 库。
  • 可启动 - 启动和启动相关的代码。其中一些是遗产, fastboot协议信息可能很有趣,因为它是 由许多设备(如Nexus)中的引导加载程序实现 的。
  • 构建 - 构建系统实现,包括所有核心构建 文件模板。这里的一个重要文件是envsetup.sh脚本 在使用平台源时,这将对您有所帮助 在shell中运行此脚本将启用命令设置 环境变量,在源代码中构建特定模块和grep 文件。
  • Cts - 兼容性测试。测试套件确保构建 符合Android规范。
  • Dalvik - 实施Dalvik Virtual的源代码 机
  • 开发 - 与开发相关的项目,如源代码 对于sdk和ndk工具。通常不是您触摸的文件夹 使用平台进行目标。
  • 设备 - 针对不同设备的产品特定代码。这是 找到不同Nexus设备的硬件模块,构建 配置等等。
  • 外部 - 包含所有外部开源项目的源代码 例如SQLite,Freetype和webkit。
  • 框架 - 此文件夹对于Android至关重要,因为它包含 框架的来源。在这里,您将找到关键服务的实现,例如带有包和活动管理器的System Server。 Java应用程序API和本机库之间的许多映射也在这里完成。

  • 硬件 - 硬件相关的源代码,如Android硬件 抽象层规范和实现。这个文件夹 还包含参考无线电接口层(进行通信 与调制解调器方面)实施。       libcore - Apache Harmony。       libnativehelper - 用于JNI的Helper函数。       (内核) - 不是默认源代码下载的一部分,但您可以通过手动下载或将存储库添加到repo工具来访问此代码。包含的来源 Android内核的Android版本。

  • Out - 运行make后,构建输出将放在此处。该 文件夹结构是/ target / product /。在模拟器的默认构建中,输出将放在out / target / product / generic中。 您可以在此处找到模拟器启动时使用的图像 (或者如果你正在建设的话,可以下载并闪存到设备上 硬件目标)。

  • Packages - 包含默认应用程序的源代码 作为联系人,日历,浏览器。

  • 预建 - 包含以二进制形式分发的文件 方便。示例包括用于不同开发机器的交叉编译工具链。

  • 系统 - 核心Android系统的源代码文件。那就是 在Dalvik VM和任何基于Java的服务启用之前启动的最小Linux系统。这包括init进程的源代码和提供平台动态配置的默认init.rc脚本

  • 工具 - 各种IDE工具。

除此之外,您还有隐藏的.repo目录,其中包含repo实用程序的源代码。它还包含清单,指定要为此Android源项目跟踪的git存储库。如果您有自己的附加内容,则可以通过在此处添加本地清单来自动跟踪它们。

对于平台框架的修改,源代码树的device / sample文件夹中提供了一些指令。这将向您展示如何向Android添加API,而无需修改核心框架。

<强>参考文献:

How to understand the directory structure of android root tree?

Master-android