发布
社区首页 >问答首页 >Android开源项目中每个项目的描述

Android开源项目中每个项目的描述
EN

Stack Overflow用户
提问于 2017-04-24 12:40:24
回答 1查看 615关注 0票数 0

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-24 14:20:10

下面是下载Android源代码时你会发现的简短版本。

  • 仿生-- Android的C运行时。请注意,Android并不像大多数Linux发行版那样使用glibc。相反,c库被称为仿生库,并且主要基于BSD派生的源。在此文件夹中,您将找到c库、数学库和其他核心运行时库的源代码。
  • 可引导-启动和启动相关的代码。其中一些是遗留的,快速引导协议信息可能很有趣,因为它是由引导加载器在许多设备中实现的,比如Nexus。
  • Build -构建系统的实现,包括所有核心的生成文件模板。这里的一个重要文件是envsetup.sh脚本,它在使用平台源代码时将对您有很大帮助。 在shell中运行此脚本将使命令能够在源代码文件中设置环境变量、构建特定模块和grep。
  • Cts -可比较性测试。确保构建符合Android规范的测试套件。
  • Dalvik -实现Dalvik虚拟机的源代码
  • 开发-与开发相关的项目,如sdk和ndk工具的源代码。通常情况下,当您使用针对目标的平台时,并不是您所接触的文件夹。
  • 设备-不同设备的产品专用代码。这里是为不同的Nexus设备、构建配置等找到硬件模块的地方。
  • 外部-包含所有外部开源项目的源代码,如SQLite、Freetype和webkit。
  • 框架--这个文件夹对于Android非常重要,因为它包含框架的源代码。在这里,您将发现关键服务的实现,如带有包和活动管理器的System。这里还完成了java应用程序API和本机库之间的许多映射。
  • 硬件-硬件相关的源代码,如Android硬件抽象层规范和实现。此文件夹还包含引用无线电接口层(用于与调制解调器端通信)实现。阿帕奇和谐。libnativehelper -用于JNI的帮助函数。(内核)--不是默认源代码下载的一部分,但您可以通过手动下载或将存储库添加到回购工具来访问该代码。包含Linux内核的Android版本的源代码。
  • Out -在运行make之后,构建输出将放在这里。文件夹结构退出/目标/产品/。在仿真器的默认构建中,输出将放置在out/target/product/generic中。在这里,您将发现模拟器用于启动的映像(如果您正在为硬件目标构建,则下载并闪烁到设备上)。
  • 包-包含默认应用程序的源代码,如联系人、日历、浏览器。
  • 预构建-包含以二进制形式分发的文件,以方便使用。示例包括用于不同开发机器的交叉编译工具链。
  • 系统-源代码文件的核心Android系统。这是在启用Dalvik和任何基于java的服务之前启动的最小Linux系统。这包括init进程的源代码和提供平台动态配置的默认init.rc脚本。
  • 工具-各种IDE工具。

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

对于平台框架的修改,源代码树的设备/示例文件夹中有一些可用的说明。这将向您展示如何在无需修改核心框架的情况下向Android添加API。

参考资料:

如何理解android根树的目录结构?

主人-android

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43588346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档