这里介绍的是windows下安装Ubuntu来下载Android源码,对应的系统版本要求如下:
Android 6.0 (Marshmallow) - AOSP master: Ubuntu 14.04 (Trusty)
Android 2.3.x (Gingerbread) - Android 5.x (Lollipop): Ubuntu 12.04 (Precise)
Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu 10.04 (Lucid)
首先需要安装VMware和Ubuntu 14.04
- Ubuntu 14.04下载地址:http://www.ubuntu.org.cn/download/alternative-downloads (需要翻墙)
- Ubuntu 的安装就不具体介绍了,需要注意的是最好保证Ubuntu的存储空间有100G以上,以免以后不够用;运行内存稍微大点,免得运行虚拟机太卡
安装好Ubuntu以后,在下载Android之前需要安装一些依赖
- Python,这个Ubuntu里已经自带了,不需要另外装
Java ,安装Oracle Java 1.8
sudo apt-add-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer
Git, Android源码都是通过git来进行版本管理的
sudo apt-get install git
Git安装好以后需要配置用户名和邮箱,就是GitHub上的用户名和邮箱
git config --global user.name "Your Name" git config --global user.email "you@example.com"
其他的一些依赖:
sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \ libgl1-mesa-dev libxml2-utils xsltproc unzip
源码下载
首先需要下载repo工具,它是Google开发的一个专门用于下载Android源码的脚本文件(需要翻墙)
mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo
repo工具安装好以后就需要新建一个目录用于存放Android源码,然后执行repo命令下载
mkdir Android cd Android repo init -u https://android.googlesource.com/platform/manifest repo sync
- 上述下载需要翻墙,下载时间一般至少需要5个小时,大小差不多25G。中间如果关机了或是其他原因导致下载中断了的话,只需要重新执行 repo sync命令即可继续下载。
上述命令下载的是最新版本的源码,也可以下载指定版本的源码,直接在repo init时附加对应的版本号即可:
//比如要下载7.0版本的源码 repo init -u https://android.googlesource.com/platform/manifest -b android-7.0.0_r27
Android官网详细地介绍了当前Android的各个版本名称、Version、对应的API Level、Branch TAG、以及Supported devices:http://source.android.com/source/build-numbers.html#source-code-tags-and-builds
除了上官网下载源码,还可以使用国内清华的镜像站下载,速度也蛮快的。同样是使用repo命令下载:
wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包 tar xf aosp-latest.tar cd AOSP //解压得到的 AOSP 工程目录 //这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录 repo sync //正常同步一遍即可得到完整目录,或 repo sync -l 仅checkout代码
具体可以参看清华官网的教程:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
最后附上Android官方的源码下载教程:https://source.android.com/source/downloading.html