美文网首页
Android源码下载

Android源码下载

作者: Frankeen | 来源:发表于2018-12-10 16:26 被阅读10次
下载源代码

Android 源代码树位于由 Google 托管的 Git 代码库中。Git 代码库中包含 Android 源代码的元数据,其中包括与对源代码进行的更改以及更改日期相关的元数据。

安装 Repo

Repo 是一款工具,可让您在 Android 环境中更轻松地使用 Git。
要安装 Repo,请执行以下操作:

  1. 确保主目录下有一个 bin/ 目录,并且该目录包含在路径中:
[root@localhost frank]# mkdir ~/bin
[root@localhost frank]# PATH=~/bin:$PATH

2.下载 Repo 工具,并确保它可执行:

[root@localhost frank]# curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
[root@localhost frank]# cd ~/bin
[root@localhost bin]# ls
repo

对于 1.21 版,Repo 的 SHA-1 校验和为 b8bd1804f432ecf1bab730949c82b93b0fc5fede

对于 1.22 版,Repo 的 SHA-1 校验和为 da0514e484f74648a890c0467d61ca415379f791

对于 1.23 版,Repo 的 SHA-256 校验和为 e147f0392686c40cfd7d5e6f332c6ee74c4eab4d24e2694b3b0a0c037bf51dc5

初始化 Repo和下载源码

安装 Repo 后,设置您的客户端以访问 Android 源代码代码库:
1.新建源码目录
创建一个空目录来存放您的工作文件。如果您使用的是 MacOS,必须在区分大小写的文件系统中创建该目录。为其指定一个您喜欢的任意名称:

[root@localhost frank]# mkdir repo_workspace
[root@localhost frank]# ls
android  repo_workspace
[root@localhost frank]# cd repo_workspace/

2.下载源码
运行 repo init 以获取最新版本的 Repo 及其最近的所有错误更正内容。您必须为清单指定一个网址,该网址用于指定 Android 源代码中包含的各个代码库将位于工作目录中的什么位置。

repo init -u https://android.googlesource.com/platform/manifest

上述命令会要求Repo下载最新的Android源代码,也就是master分支,如果想下载其他分支请使用 -b 来指定相应分支.要查看分支列表,请参阅(需要翻墙)源代码标记和版本
这里我们现在下载android-2.3.5_r1版本

repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.5_r1

上述操作需要翻墙,如果翻不了墙可以使用(请使用google浏览器打开,不同浏览器看到的效果可能不同)清华镜像
初始化成功后,系统将显示一条消息,告诉您 Repo 已在工作目录中完成初始化。客户端目录中现在应包含一个 .repo 目录,清单等文件将保存在该目录下。

  1. 同步源码树:
    要将 Android 源代码树从默认清单中指定的代码库下载到工作目录,请运行以下命令(以后只需执行这条命令来同步):
[root@localhost android_source]# repo sync 

Android 源代码文件将位于工作目录中对应的项目名称下。初始同步操作将需要 1 个小时或更长时间才能完成。

使用镜像安装repo和下载源码
  1. 使用镜像安装repo
[root@localhost frank]# mkdir ~/bin
[root@localhost frank]# PATH=~/bin:$PATH
[root@localhost frank]# cd ~/bin
[root@localhost bin]# curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
[root@localhost bin]# chmod +x repo

repo的运行过程中会尝试访问官方的git源更新自己,如果想使用tuna的镜像源进行更新,可以将如下内容复制到你的~/.bashrc里

export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'

并重启终端模拟器。

  1. 新建源码目录,下载源码
[root@localhost frank]# mkdir repo_workspace
[root@localhost frank]# ls
android  repo_workspace
[root@localhost frank]# cd repo_workspace/
  1. 下载指定版本源码
[root@localhost android_source]# repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-2.3.5_r1
  1. 同步源码树:
    要将 Android 源代码树从默认清单中指定的代码库下载到工作目录,请运行以下命令(以后只需执行这条命令来同步):
[root@localhost android_source]# repo sync -j4

由于使用 HTTPS 协议更安全,并且更便于我们灵活处理,所以强烈推荐使用 HTTPS 协议同步 AOSP 镜像。

由于 AOSP 镜像造成CPU/内存负载过重,我们限制了并发数量,因此建议: 1. sync的时候并发数不宜太高,否则会出现 503 错误,即-j后面的数字不能太大,建议选择4。 2. 请尽量选择流量较小时错峰同步。

源代码目录含义:

目录结构

[root@localhost android_source]# ls -l
total 48
drwxr-xr-x.  9 root root 4096 Dec 10 14:04 bionic
drwxr-xr-x.  5 root root   58 Dec 10 14:04 bootable
drwxr-xr-x.  7 root root 4096 Dec 10 14:04 build
drwxr-xr-x.  8 root root 4096 Dec 10 14:04 cts
drwxr-xr-x. 16 root root 4096 Dec 10 14:04 dalvik
drwxr-xr-x. 20 root root 4096 Dec 10 14:04 development
drwxr-xr-x.  7 root root   69 Dec 10 14:04 device
drwxr-xr-x. 83 root root 4096 Dec 10 14:05 external
drwxr-xr-x.  5 root root   36 Dec 10 14:05 frameworks
drwxr-xr-x.  9 root root 4096 Dec 10 14:05 hardware
drwxr-xr-x. 14 root root 4096 Dec 10 14:05 libcore
-r--r--r--.  1 root root   87 Dec 10 14:04 Makefile
drwxr-xr-x.  8 root root 4096 Dec 10 14:05 ndk
drwxr-xr-x.  7 root root   88 Dec 10 14:05 packages
drwxr-xr-x. 15 root root 4096 Dec 10 14:06 prebuilt
drwxr-xr-x. 27 root root 4096 Dec 10 14:06 sdk
drwxr-xr-x.  9 root root   91 Dec 10 14:06 system

某一些目录下载的版本不一样,可能会不存在

目录名 描述
abi 应用程序二进制接口
bionic C/C++运行时库,在NDK程序中很大一部分调用就是这里的程序
bootable 用于Android装载和启动程序,其中就包括bootloader和recovery。bootloader是Android中唯一在LInux内核之前执行的程序。通过这段程序可以初始化硬件,建立内存控件的映射图等,总之,bootloader就是为LInux内核准备合适的运行环境。
build 用于编译Android源代码以及建议system.img,ramdisk.img等文件的工具
cts 用于兼容性测试的工具
dalvik Dalvik虚拟机的源代码
development 高层的开发和调试工具
device 与设备相关的代码
docs 包含与Android源代码项目的文档和工具,如Dalvik虚拟机格式文档等
external 扩展工具的源代码
framworks Android框架层源代码。也就是Android SDK的源代码
hardware 硬件层接口和库
libcore Java核心库
ndk NDK相关的源代码
packages 与Android系统一同发布的应用程序的源代码
prebuilts Android在各种平台下编译之前要使用的工具
sdk 在开发环境中使用的工具,如ddms,draw9path,sdkmanager等
system Android的基本系统

相关文章

网友评论

      本文标题:Android源码下载

      本文链接:https://www.haomeiwen.com/subject/wrcrhqtx.html