Android 9 -代码下载编译
一,*下载:
1.背景:
背景:
现在Android framework 开发的同学,整体在公司里面解一些无关痛痒的bug,对于Android framework模块详细流程,可能只有在工作之外的时间去分析Android源码。
由于某墙的原因,这里我们采用国内的镜像源进行下载.目前,可用的镜像源一般是科大和清华的,具体使用差不多,这里我选择清华大学镜像进行说明。后面的所有命令,都是围绕着清华的镜像源进行介绍。
2.编译环境:ubuntu16.04 + core 9700K + 16G + 100M电信宽带
3.安装配置git
sudo apt-get install git
git config –global user.email "test@test.com"
git config –global user.name "test"
4.安装java
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
如果电脑里面存在多个java 版本,则通过如下命令选择openjdk-8即可
sudo update-alternative --config java
sudo update-alternative --config javac
5.配置PATH环境变量
添加~/bin 到环境变量PATH里面
mkdir ~/bin
echo "PATH=~/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
6.安装依赖库
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
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
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo apt-get install lib32z-dev ccache
sudo apt-get install libssl-dev
7.下载配置 repo
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
修改~/bin/repo 中的REPO_URL 字段为:
REPO_URL = 'https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'
7.开始下载代码
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r3
repo sync –no-tags -j8
---→ 速度很快,我们是100M电信宽带,一两个小时就下载好了
git clone https://aosp.tuna.tsinghua.edu.cn/kernel/common.git
git checkout "android-4.9-p"
8.编译:
source build/envsetup.sh
lunch 6 → aosp_x86_64-eng
make update-api -j8
make -j8
根据上面安装的库,我这边一次性就编译通过了,大概花了01:44 。 还算挺快的。
#### build completed successfully (01:44:30 (hh:mm:ss)) ####
二, 网页上直接查看: