Android是一个开源的操作系统,所以我们可以下载到Android的源码来阅读。那么接下来我来讲讲如何下载Android的源码以及在下载中遇到的错误。

首先需要安装linux系统环境下, 我用的是 ubuntu16.04 LTS版

首先安装git 和 curl工具

快捷键: ctrl + alt + T 调出控制台 输入以下命令

//安装git版本控制工具

sudo apt-get install git

//安装curl

sudo apt-get install curl

创建一个文件夹来下载: repo

repo是一种代码版本管理工具,它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库。 repo详解

对于我们来说, 使用repo可以支持断点续传,因为在android源码非常大,在下载中可能会出错,这时候就断点续传能很好的解决下载到一半出错的情况

那么,我们键入一下命令

//在主目录创建bin文件夹

mkdir ~/bin

//将bin文件夹添加到环境变量中

PATH=~/bin:$PATH

接下来下载安装curl 键入以下命令

//下载repo

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

//对于国内的互联网环境, 上面的这条命令可能无法下载成功,可以使用下面这条

curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" >~/bin/repo

// 给所有用户追加可执行的权限

chmod a+x ~/bin/repo

//配置repo到环境变量中,这里配置的是临时的环境变量。重启之后需要再输入一次

export PATH=~/bin:$PATH

//想配置永久的环境变量的话,需要到/etc/目录下修改profile文件,在文件最后添加export PATH=~/bin:$PATH。然后输入

source /etc/profile

来刷新环境变量

android运行代码不是新的 android运行go代码_android go代码下载

接下来创建一个存放源码的文件夹

// 创建源码下载目录

mkdir ~/android_source

// 修改文件夹权限为可读可写可执行

chmod 777 ~/android_source

//进入这个文件夹目录

cd ~/android_source

// 需要先配置git的用户信息 注意: 引号中的邮箱和名字换成你自己的就好

git config --global user.email "lks6123@163.com"

git config --global user.name "lks6123"

android运行代码不是新的 android运行go代码_android_02

接下来初始化repo

//表示要下载当前线上最新的版本

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

或者

//表示下载指定的安卓版本

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

manifest后面的-b是表示初始化特定的版本

但是在国内的环境, 可能上面的是无法完成初始化的, 建议使用清华的镜像

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest

//或者下载指定的版本

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.0.3_r1

当出现: repo initialized in /home/lks6123/android_source 表示初始化成功

android运行代码不是新的 android运行go代码_android_03

最后输入如下命令,开始同步下载

repo sync

下载时候的一个错误

我在开始同步时出现了这样的错误提示

Initializing project platform/abi/cpp …

fatal: ‘../platform/abi/cpp.git’ does not appear to be a git repository

fatal: Could not read from remote repository.

Please make sure you have the correct access rights

and the repository exists.

error: Cannot fetch platform/abi/cpp

解决办法 在android_source下有个隐藏文件夹 .repo 。点击查看,显示隐藏文件,即可显示出来。或者按下crtl + h键也可以显示出隐藏文件。接下来 打开.repo下的manifest.xml文件, 将

fetch=”..”

修改为:

fetch=”https://aosp.tuna.tsinghua.edu.cn”

注意:如果初始化时用的是android源码地址,那么是把

fetch=”..”

修改为:

fetch=”https://android.googlesource.com”

android运行代码不是新的 android运行go代码_初始化_04

然后重新同步即可

android运行代码不是新的 android运行go代码_git_05

注意: 下载过程中, 因为网络问题, 可能会中断下载. 当中断下载时, 继续使用repo sync命令继续下载.