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 "[email protected]"
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-alternatives --config java
sudo update-alternatives --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 。 還算挺快的。