Android 9、10 -源碼下載編譯

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-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電信寬帶,一兩個小時就下載好了

注意Android 10 的代碼也已經開放,tag:android-10.0.0_r3 。 也可以在這裏查看:https://source.android.com/setup/start/build-numbers#source-code-tags-and-builds   (需要搭梯子)。

Android的源碼和kernel的源碼需要分開下載,如果只是用模擬器,則只需要下載Android源碼就行,kernel根據需要下載,下載方式類似如下:

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)) ####

 

 

9.運行

emulator

emulator -writable-system    --->  能夠remount system分區,emulator 的其他參數請參看  emulator -help

截圖:

 

 

 

Android 源碼非常龐大,需要一個非常有效的閱讀/查詢工具,請移步:Android 9 源碼查看 - Ubuntu 16.04 搭建Opengrok 查看Android 9 源碼

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章