通過映象下載Android原始碼
一、android編譯環境
強烈建議先看看Google的官方文件 https://source.android.com/source/building.html 其中提到的編譯環境是Ubuntu LTS (14.04),check原始碼需要100g空間,編譯一個版本需要150g空間,那麼建立虛擬機器的時候就要滿足這些要求。 我是用虛擬機器下載原始碼的 系統 ubuntu-14.04-desktop 硬碟200G 記憶體8G 第一步:安裝JDK 我裝的是openJDK7 ,openjdk的安裝方法可以參照網上的方法 http://openjdk.java.net/install/ 並配置好環境變數,通過java -version 命令檢視Java是否安裝成功。 第二步: 安裝依賴包 按照官方文件執行:
$sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip
報錯:
g++-multilib : Depends: gcc-multilib (>= 4:4.8.2-1ubuntu6) but it is not going to be installed
是安裝包依賴問題,用如下分別安裝方式解決:
$sudo apt-get install gccsudo apt-get install g++-multilibsudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 libreadline6-dev:i386 g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 dpkg-devsudo apt-get install lzopsudo apt-get install keychain
分別安裝後,再執官方文件的命令,看看是否有遺漏:
sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip
此時應該能夠順利安裝完成。
二、下載原始碼
第一步:下載repo
$mkdir repo
$cd repo
$git clone git://git.omapzoom.org/git-repo.git
git下載好後就可以按照官網進行下載原始碼了,不過要將repo中的
REPO_URL = 'https://gerrit.googlesource.com/git-repo'
改成 :
REPO_URL = 'https://git.omapzoom.org/git-repo'
才可以不用翻牆下載。
第二步:下載原始碼
第一步repo下載好後就可以下載原始碼了
$mkdir resouce
$cd resource
../repo/git-repo/repo init -u git://git.omapzoom.org/platform/manifest
如果要獲取每個tag,譬如android-6.0.0_r2,則可以執行:
repo init -u git://git.omapzoom.org/platform/manifest -b android-6.0.0_r2
下載具體的TAG,可以在瀏覽器訪問http://git.omapzoom.org中/platform/manifest連結,可以看到所有的tag名稱.
執行repo init過程中,需要填寫個人資訊,按照要求填寫就行了。
最後通過執行
$repo sync
即可下載你所需要的原始碼了,如果下載中斷可以繼續輸入sync 命令。
三、編譯原始碼
1.初始化編譯環境
$source build/envsetup.sh
設定編譯時需要的環境變數與引數
2.lunch
$lunch
選擇需要編譯的版本
3.make
$make
開始編譯Android系統 也可以通過make -j4 進行加速,j4可以根據自己的CPU核心來定,一般為CPU數目的2倍。
4執行模擬器
編譯完成之後就可以執行模擬器了
$emulator
emulator 在/prebuilts/android-emulator/linux-x86_64下 可以直接進入該目錄執行emulator 執行模擬器。
adb等一些工具在/out/host/linux-x86/bin中