Android 源码编译步骤:
我考虑了一下,目前电脑装了SSD,8G内存,使用虚拟机编译源码应该够用。
首先下载虚拟机软件,由于最近一直在使用virtualbox,感觉蛮不错了,下载地址:
http://download.virtualbox.org/virtualbox/5.1.26/VirtualBox-5.1.26-117224-Win.exe
然后下载ubuntu镜像文件,这里我采用最新的ubuntu16.04.3,下载地址:
http://releases.ubuntu.com/16.04/ubuntu-16.04.3-desktop-amd64.iso
安装玩virtualbox后,我们开始创建虚拟机。
由于8G内存还是偏小,编译时又需要大量内存,所以分配了5G内存,考虑到我需要两套不同系统源码,一套源码加上编译后的文件,大概有50G左右,所以我给虚拟机分配了150G磁盘空间,采用vdi格式,个人推荐固定磁盘,因为动态分配的磁盘,vdi文件在主机上只会越来越大。
安装完虚拟机,现在开始配置环境。
java环境采用最新的openjdk8
sudo apt-get install openjdk-8-jdk
ubuntu16和其他版本的依赖库有所不同:
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib
sudo apt-get install libc6-dev-i386 lzop
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install lib32z-dev ccache
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
下载android7.1源码
首先下载 repo 工具
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
## 如果上述 URL 不可访问,可以用下面的:
## curl https://storage-googleapis.proxy.ustclug.org/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
然后建立一个工作目录(名字任意)
mkdir source
cd source
初始化仓库:
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest
## 如果提示无法连接到 gerrit.googlesource.com,可以编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的:
## REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo'
如果需要某个特定的 Android 版本(Android 版本列表):
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-4.0.1_r1
同步源码树(以后只需执行这条命令来同步):
repo sync
有时候会下载失败,下载失败后,多sync几次就行。
到这里就下载完毕了