Aosp原始碼下載編譯
阿新 • • 發佈:2019-02-19
之前上班一直都是使用公司給的地址下載,修改原始碼,沒有自己去下載過,想到這,所以決定自己來下載編譯一下aosp原始碼。
以下是編譯原始碼版本對系統和jdk版本的要求,不符合要求的同學趕緊按要求安裝吧。
Android 7.0 (Nougat) - Android 8.0 (O):Ubuntu - OpenJDK 8;Mac OS - jdk 8u45 或更高版本 Android 5.x (Lollipop) - Android 6.0 (Marshmallow):Ubuntu - OpenJDK 7;Mac OS - jdk-7u71-macosx-x64.dmg Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat):Ubuntu - Java JDK 6;Mac OS - Java JDK 6 Android 1.5 (Cupcake) - Android 2.2.x (Froyo):Ubuntu - Java JDK 5
滿足要求的同學,可以準備開始原始碼下載了。
首先我們要安裝repo工具,通過repo指令碼我們可以下載aosp原始碼,使用如下命令建立一個資料夾儲存repo指令碼並加入到使用者環境變數裡:
mkdir ~/bin
PATH=~/bin:$PATH
同學們注意,不要使用root許可權執行以上命令哦,不然bin資料夾會出現在計算機根目錄下。下載repo指令碼和新增執行許可權的命令:
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
如果沒有安裝curl工具的同學可以安裝一下,順便安裝配置一下git(安裝好的同學跳過此步驟),使用如下命令:
sudo apt-get install curl git-core
git config --global user.name yourname
git config --global user.email youremail
下載好了我們可以進入~/bin/下開啟repo檔案檢視其內容
cd ~/bin/
gedit repo
可以看到有這麼幾行,而其中REPO_URL就是定義的下載aosp原始碼的連結
#!/usr/bin/env python # repo default configuration # import os REPO_URL = os.environ.get('REPO_URL', None) if not REPO_URL: REPO_URL = 'https://gerrit.googlesource.com/git-repo' REPO_REV = 'stable'
之後我們可以新建一個目錄用於存放原始碼
cd ~
mkdir android_source & cd android_source
然而,因為某些原因,我們不使用代理的話就無法下載原始碼,這時我們可以使用國內的aosp開源映象網站下載。
執行repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.1.2_r1
repo sync
之後,我們就可以開始同步aosp原始碼了
repo sync
原始碼同步下來以後,就可以開始編譯了。
編譯原始碼我們首先要配置環境,安裝依賴包等。
ubuntu14.04依賴包
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
ubuntu12.04依賴包
sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
source build/envsetup.sh
lunch
make -j4