下载 Android 源代码

下载 Android 源代码

Android 源代码位于 Google 托管的 Git 代码库集合中。Git 代码库包含 Android 源代码的完整历史记录,包括对源代码的更改以及更改时间。本页面介绍了如何下载源代码。

注意:本页面上的所有命令都以美元符号 ($) 开头,以将其与文件中的输出或条目区分开来。要在复制命令时省略美元符号,请点击每个命令框右上角的复制代码示例图标。

初始化 Repo 客户端

设置您的客户端以访问 Android 源代码库

创建并导航到工作目录

mkdir WORKING_DIRECTORY

cd WORKING_DIRECTORY注意:您的开发机器上可以有多个 Android 版本,只要它们位于不同的目录中即可。每次检出和构建至少使用 300 GB 的空间。

初始化您的工作目录以进行源代码控制

repo init --partial-clone --no-use-superproject -b android-latest-release -u https://android.googlesource.com/platform/manifest

-b 选项用于标识您要初始化的分支。如果未提供 -b,则 repo init 默认为主分支。如需分支和标记名称的列表,请参阅源代码标记和版本。

-u 选项是必需的,用于指定清单文件,清单文件是一个 XML 文件,用于指定 Android 源代码中的各个 Git 项目在您的工作目录中的位置。在此示例中,未指定清单文件的名称,因此该命令使用默认清单文件 (default.xml)。

输出应包含以下消息

repo has been initialized in path_to_working_directory

注意:默认情况下,repo init 会初始化当前目录以用于源代码的 main 分支。

如需了解清单文件格式的相关信息,请参阅 Repo 清单格式。

如需查看所有 Repo 命令的列表,请参阅Repo 命令参考。

下载 Android 源代码

运行以下命令将 Android 源代码树下载到您的工作目录

$ repo sync -c -j8

-c 参数指示 Repo 从服务器获取当前清单分支。-j8 命令将同步操作拆分到多个线程以加快完成速度。

此操作应耗时略多于一小时。

如果您在下载过程中遇到任何问题,请参阅排查和修复同步问题。

下载专有二进制文件

AOSP 可以直接在 Cuttlefish 模拟器上运行,但如果不使用其他特定于设备的专有库,则 AOSP 无法在硬件上使用。以下是如何获取这些设备二进制文件

如果您正在下载 main 分支并为 Nexus 或 Pixel 设备构建,请从 二进制文件预览网站下载最新的二进制文件。

如果您正在下载和构建 main 分支并为您自己的设备构建,则必须提供特定于您设备的二进制文件。

如果您正在下载和构建已标记的非主分支,并为 Nexus 或 Pixel 设备构建,请从 Nexus 和 Pixel 设备二进制文件下载特定于设备的二进制文件。

提取专有二进制文件

每组二进制文件都以压缩存档中的自解压脚本形式提供。要提取这些二进制文件并将它们放置在源代码树中的正确位置

提取存档。

从您的 AOSP 源代码树的根目录运行包含的自解压 shell 脚本。

同意随附许可协议的条款。二进制文件及其匹配的 makefile 将安装在源代码树的 vendor/ 层次结构中。

(可选)验证代码合法性

如果您担心源代码的合法性,例如它是否来自 Google,您可以验证该分支的 git 标记。要验证 Git 标记

将以下密钥块复制并粘贴到文本文件中,例如 keyfile.asc。

-----BEGIN PGP PUBLIC KEY BLOCK-----

Version: GnuPG v1.4.2.2 (GNU/Linux)

mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV

lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7

8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD

u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z

wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq

/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5

jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4

MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9

b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv

aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k

cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX

gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI

2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl

QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up

hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk

C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX

LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+

OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M

pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s

KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb

N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA

vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo

G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ

hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l

EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=

=Wi5D

-----END PGP PUBLIC KEY BLOCK-----

运行以下命令将公钥输入到您的 GnuPG 密钥数据库中。该密钥用于签署表示版本的带注释的标记。

$ gpg --import keyfile.asc

导入密钥后,您可以通过运行以下命令来验证任何标记

$ git tag -v TAG_NAME

🌸 相关推荐

笔记本键盘怎么安装?
28365备用网址

笔记本键盘怎么安装?

📅 07-12 👀 1280
WPS 文档格式兼容性问题及解决办法
英国正版365官方网站

WPS 文档格式兼容性问题及解决办法

📅 10-04 👀 8982
三星S7摄像表现如何?(评测三星S7摄像质量,还原真实细节)