歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

Ubuntu 下載 & 編譯 Android5.1 源碼

轉自:http://www.cnblogs.com/bluestorm/p/4419135.html
1.安裝openjdk-7-jdk
Android 5.1 用到的jdk不再是Oracle 的 jdk ,而是開源的 openjdk,在ubuntu安裝好後,使用如下命令安裝jdk:
$sudo apt-get install openjdk-7-jdk
安裝好後,設置環境變量:
在/etc/profile 文件末尾加上:
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
2.安裝編譯依賴的軟件
使用如下命令安裝依賴軟件:
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- dri:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos
python-markdown libxml2-utils xsltproc zlib1g-dev:i386 dpkg-dev
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
3.配置Cache
使用如下命令配置cache:
sudo apt-get install ccache
source ~/.bashrc
4.下載repo
1)創建repo目錄
mkdir ~/bin
PATH=~/bin:$PATH
2)下載repo(官方的repo下載不了,其他的repo大多比較舊,這個時比較新的,我找了很久大哭)
git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/
克隆下來後將git-repo中的repo文件拷貝到bin目錄
cp git-repo/repo ~/bin/
修改repo文件,設置REPO_URL如下:
REPO_URL = 'git://aosp.tuna.tsinghua.edu.cn/android/git-repo'
5.初始化repo
1)創建目錄
mkdir ~/aosp
2)初始化repo
cd ~/aosp
repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-5.1.1_r4
repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-6.0.1_r22
repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-n-preview-1
ps:在初始化時,提示需要email驗證,使用如下命令:
git config --global user.email "[email protected]"
git config --global user.name "Your Name"

6.替換已有的AOSP源代碼的remote

如果你之前已經通過某種途徑獲得了AOSP的源碼,但是你希望以後通過TUNA同步,只需要將.repo/manifest.xml中的
<remote  name="aosp"
       fetch=".."
       review="https://android-review.googlesource.com/" />

改為下面的code即可:
<remote  name="aosp"
       fetch="git://aosp.tuna.tsinghua.edu.cn/android/"
       review="https://android-review.googlesource.com/" />

這個方法也可以用來在同步Cyanogenmod代碼的時候從TUNA同步部分代碼
7.下載源碼
repo sync
ps:這裡就是下載源碼了,需要的時間比較長,我下行為1M的寬帶需要4小時以上
8.源碼編譯
ps:編譯過程比較就,我電腦雙核的,使用單線程編譯的,時間位12小時左右,如果使用多線程,時間應該會成倍減少
1)設置cache
cd aosp
prebuilts/misc/linux-x86/ccache/ccache -M 50G
2)初始化編譯環境
. build/envsetup.sh
3)選擇編譯目標包
ps:lunch的方式有很多中,可以使用lunch命令查看,我使用最常用的
lunch aosp_arm-eng
4)編譯
make
ps: 1.make後面可以更參數:如你的機器時雙核,每核雙線程的話,使用make -j4,這樣速度更快,但編譯時使用的內存也更多
2.make失敗或停止後,可以使用make -k 繼續編譯
9.結果展示:
$emulator &
Ref:
Ubuntu14.10 編譯 Android5.0 源碼:
http://blog.csdn.net/chouretang/article/details/43769839
編譯時參考的博文:
1.http://blog.csdn.net/gobitan/article/details/24367439
2.https://wiki.tuna.tsinghua.edu.cn/MirrorUsage/android
Copyright © Linux教程網 All Rights Reserved