1、搭建環境php
一、代號、標籤和版本號html
二、Factory Imagesjava
三、Driver Binariespython
四、工具鏈linux
一、系統平臺:I5-8500T+8G+1T,Ubuntu 14.04 LTS 64bitandroid
二、Python 2.6 - 2.7 (注意:Python 3不兼容)git
三、GNU Make 3.81 - 3.82macos
四、Git 1.7 或更高版本ubuntu
五、OpenJDK 8api
六、SDK
一、安裝ubuntu 14.04 LTS 操做系統,Ubuntu版本與安卓對應以下:
二、安裝JDK
有關較低 Android 版本的預編譯路徑和安裝說明,請參閱安裝 JDK。
從old-releases.ubuntu.com下載適用於 64 位架構的.deb
軟件包:
0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
)9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
)6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
)下載完成後
sha256sum {downloaded.deb file} //檢查SHA256值 sudo apt-get update sudo dpkg -i {downloaded.deb file} sudo apt-get -f install //解決缺乏依賴項的問題
對於以上 Ubuntu 版本,請經過運行如下命令來更新默認的 Java 版本:
sudo update-alternatives --config java
sudo update-alternatives --config javac
三、安裝所需的軟件包 (Ubuntu 14.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 libgl1-mesa-dev libxml2-utils xsltproc unzip
2、下載代碼
Repo 是一款工具,可以讓您在 Android 環境中更輕鬆地使用 Git。要詳細瞭解 Repo,請參閱 Repo 命令參考資料。
要安裝 Repo,請執行如下操做:
一、確保主目錄下有一個bin/
目錄,而且該目錄包含在路徑中:
mkdir ~/bin
PATH=~/bin:$PATH
二、下載 Repo 工具,並確保它可執行:
對於 1.22 版,Repo 的 SHA-1 校驗和爲 da0514e484f74648a890c0467d61ca415379f791
。
對於 1.23 版,Repo 的 SHA-256 校驗和爲 e147f0392686c40cfd7d5e6f332c6ee74c4eab4d24e2694b3b0a0c037bf51dc5
。
安裝 Repo 後,設置您的客戶端以訪問 Android 源代碼代碼庫:
一、建立一個空目錄來存放您的工做文件。若是您使用的是 MacOS,必須在區分大小寫的文件系統中建立該目錄。爲其指定一個您喜歡的任意名稱:
一、要將 Android 源代碼樹從默認清單中指定的代碼庫下載到工做目錄,請運行如下命令:
二、下載過程有可能失敗,建議使用以下.sh腳本
#!/bin/bash repo sync -j6 while [ $? = 1 ]; do echo 「======sync failed, re-sync again======」 sleep 3 repo sync -j6 done
一、下載
對於運行帶標記的 AOSP 版本分支的受支持設備,您能夠從 Google 的驅動程序下載相關的官方二進制文件。有了這些二進制文件,您將有權使用那些採用非開源代碼的其餘硬件功能。要編譯 AOSP 的 master 分支,請使用二進制文件預覽。在針對某種設備編譯 master 分支時,請使用適用於最新編號版本的二進制文件或具備最新日期的二進制文件。
二、解壓
每組二進制文件都是壓縮包中的一個自解壓腳本。解壓每一個壓縮包,從源代碼樹的根目錄運行附帶的自解壓腳本,而後確認您贊成附帶的許可協議的條款。二進制文件及其對應的 Makefile 將會安裝在源代碼樹的vendor/
層次結構中。
3、編譯代碼
一、清理
爲了確保新安裝的二進制文件在解壓後會被適當考慮在內,請使用如下命令刪除全部之前編譯操做的已有輸出:
make clobber
二、設置環境
使用 envsetup.sh
腳本初始化環境。請注意,將source
替換成.
(一個點)能夠省去一些字符,這種簡寫形式在文檔中更爲經常使用。
source build/envsetup.sh
//或
三、選擇目標
使用lunch
選擇要編譯的目標。確切的配置可做爲參數進行傳遞。例如,如下命令表示針對模擬器進行完整編譯,而且全部調試功能均處於啓用狀態。
//例如 lunch aosp_arm-eng
若是您沒有提供任何參數就運行命令,lunch
將提示您從菜單中選擇一個目標。
全部編譯目標都採用 BUILD-BUILDTYPE
形式,其中 BUILD
是表示特定功能組合的代號。BUILDTYPE
是如下類型之一:
要詳細瞭解如何針對實際硬件進行編譯以及如何在實際硬件上運行編譯系統,請參閱運行編譯系統。
四、編譯代碼
本部分只是一個摘要,用於確保設置已完成。如需關於編譯 Android 的詳細說明,請參閱運行編譯系統。
您可使用make
編譯任何代碼。GNU make
能夠藉助-jN
參數處理並行任務,一般使用的任務數 N 介於編譯時所用計算機上硬件線程數的1-2倍之間。例如,在一臺雙核 E5520 計算機(2個CPU,每一個CPU 4個內核,每一個內核2個線程)上,要實現最快的編譯速度,可使用介於make -j16
到make -j32
之間的命令。
make -j4
五、開始運行
您能夠在模擬器上運行本身的版本,也能夠將其刷到設備上。請注意,由於您以前已使用 lunch
選擇編譯目標,所以極可能沒法在編譯目標以外的目標上運行您的編譯系統。
注意:請記得下載專有二進制文件,不然您的編譯系統將沒法在目標硬件上成功啓動。若是您在此時下載二進制 Blob,則須要將其解壓、make clobber
並從新編譯。
六、模擬Android設備
emulator
4、刷機
要對設備進行刷機,您須要使用 fastboot
(編譯成功後,它應該會包含在您的路徑中)。如需相關說明,請參閱對設備進行刷機。