Android 是一种用于各种不同外形设备的操作系统。任何人都可以通过 Android 开源项目 (AOSP) 获取 Android 的文档和源代码。您可以使用 AOSP 为您自己的设备创建 Android 操作系统的自定义变体。
AOSP 的设计宗旨是避免出现中心故障点,即一家行业参与者限制或控制另一家行业参与者的创新。因此,AOSP 是一款完整的、生产质量的开发者产品,其源代码开放,可供自定义和移植。
文档的这一部分旨在帮助新的 AOSP 开发者开始使用该平台并执行必要的开发任务。
必需术语
以下是在《入门指南》文档中使用的术语和定义的列表。在继续操作之前,您应该学习每个定义。
- Android 应用开发者
Android 应用开发者编写在 Android 上运行的 Android 应用 或应用程序。应用开发者分为两类:第一方 (1p) 应用开发者和第三方 (3p) 应用开发者。
- Android 第一方应用开发者
- 能够访问 AOSP 系统 API 并编写特权应用和设备制造商应用的 Android 应用开发者。
- Android 第三方应用开发者
- 仅使用 Android 公共 SDK 创建 Android 应用的 Android 应用开发者。
如果您想为 Android 开发第三方应用,请参阅 developers.android.com
。本网站上的信息仅适用于直接使用 AOSP 的人员。
- Android 调试桥 (adb)
- 一种命令行工具 (
adb
),允许您的工作站与虚拟设备、软件模拟设备或物理设备进行通信。 - Android 兼容设备
- 一种可以使用 Android SDK 和 NDK 运行第三方开发者编写的任何第三方应用的设备。Android 兼容设备必须遵守《兼容性定义文档 (CDD)》的要求并通过《兼容性测试套件 (CTS)》。Android 兼容设备有资格参与 Android 生态系统,其中包括 Android Play 商店的潜在许可、Google 移动服务 (GMS) 应用和 API 套件的潜在许可以及 Android 商标的使用。欢迎任何人使用 Android 源代码,但要被视为 Android 生态系统的一部分,设备必须是 Android 兼容的。有关兼容性和 CTS 的更多信息,请参阅 Android 兼容性计划概述
- 兼容性定义文档 (CDD)
- 一份列举 Android 兼容设备的软件和硬件要求的文件。
- 贡献者
为 AOSP 源代码做出贡献的人。贡献者可以是 Google 员工、其他公司员工以及没有公司隶属关系的个人。每位 AOSP 贡献者都使用相同的工具,遵循相同的代码审核流程,并受相同的编码风格约束。您不必成为贡献者即可使用 AOSP;您可以下载 AOSP,根据自己的需要对其进行修改,并将其部署在设备上,而无需贡献代码供他人使用。
Google 接受的代码贡献类型是有限制的。例如,您可能想贡献一个替代应用程序 API,例如完整的基于 C++ 的环境。Google 会拒绝该贡献,因为 Android 鼓励应用程序在 ART 运行时中运行。同样,Google 不接受与许可目标不兼容的 GPL 或 LGPL 库等贡献。
如果您有兴趣贡献源代码,请在开始工作之前联系 Google。
- 兼容性测试套件 (CTS)
一套免费的、商业级的测试套件,可以二进制文件形式下载,也可以 AOSP 源代码形式下载。CTS 是一组单元测试,旨在集成到您的日常工作流程中。CTS 的目的是揭示不兼容性,并确保软件在整个开发过程中保持兼容。
- Cuttlefish
一种可配置的虚拟 Android 设备,可以使用第三方云服务(例如 Google Cloud Engine)远程运行,也可以在 Linux x86 机器上本地运行。
- 开发者
在 AOSP 的上下文中,开发者是指以任何方式使用 AOSP 的任何人。“开发者”一词通常用于指代可能阅读本文档的各种人员,例如原始设备制造商 (OEM)、手机制造商、运营商和片上系统 (SoC) 创建者。
- Google 移动服务 (GMS)
一组可以预装在设备上的 Google 应用和 API。
- 目标
设备的排列组合,例如特定型号或外形。例如,
aosp_cf_x86_64_phone-userdebug
代表一个带有调试信息的 x86 65MB 手机,旨在 Cuttlefish 模拟器上运行。
治理理念
由 Google 领导的开放手机联盟 (OHA) 最初创立了 Android。如今,许多公司(包括 OHA 的原始成员和其他公司)都在 Android 上投入了巨资。这些公司已投入大量工程资源来改进 Android 并将 Android 设备推向市场。
投资 Android 的公司这样做是因为他们认为开放平台是必要的。Android 有意且明确地是一项开源工作(与自由软件相对);一群具有共同需求的组织汇集资源,协作开发共享产品的单一实现。首先,Android 理念是务实的。目标是每个贡献者都可以定制和自定义的共享产品。
当然,不受控制的自定义可能会导致不兼容的实现。为了防止不兼容,Android 开源项目 (AOSP) 维护 Android 兼容性计划,该计划阐明了成为 Android 兼容设备意味着什么,以及设备制造商要达到该状态需要做什么。任何人都可以出于任何目的使用 Android 源代码,Google 欢迎所有合法用途。但是,要参与 OHA 成员围绕 Android 构建的共享应用程序生态系统,设备制造商必须参与 Android 兼容性计划。
AOSP 由 Google 领导,Google 负责维护和进一步开发 Android。虽然 Android 由多个子项目组成,但 AOSP 严格来说是项目管理。Google 将 Android 视为一个单一的、整体的软件产品,而不是发行版、规范或可替换部件的集合。Google 的意图是让设备制造商将 Android 移植到设备;他们不实现规范或策划发行版。
接下来做什么?
如果您是 AOSP 新手,并且想浏览 AOSP 开发教程,请继续学习 AOSP 教程。
如果您认为您的设备需要 Android 兼容,请参阅 Android 兼容性计划。
如果您想了解 AOSP 的背景,包括 Google 对该平台的参与,请参阅 AOSP 常见问题解答。