因為工作上的一些需要,需要進行Android平台的ROM開發,開發過程中發現官方文檔十分簡單並且存在很多問題,所以現在整理一下完整的個人開發流程,共享給大家,有問題還請多多指正。
為了編譯自定義的Android ROM,第一步是搭建一個合理的硬件和軟件開發環境。 一、硬件開發環境: 16G以上內存、高性能CPU:使用Intel i7內核,8G內存的PC編譯Android 2.3首次需要半小時左右,小范圍修改重新編譯在5分鐘左右;編譯Android 4.2首次編譯需要80分鐘左右。如果開發Android2.3 ROM使用上述配置即可,如果編譯Android 4.0 ROM需要更高級的配置,考慮到Android4.2的源碼在10G左右,提高內存應該可以提升編譯速度,因此利用閒置的64G內存、2顆 64位E5620 CPU的Server進行開發。 64位機器:為了編譯Android 2.3.x以上版本,CPU要求是64核。 單個Andoid版本需要100G左右硬盤空間:每個Android版本需要100G左右空間,主要是編譯後的臨時文件,每個版本針對每個單獨的設備需要單獨編譯,單個設備編譯需要30G左右,為了兼容所有機型編譯需要100G左右硬盤空間。 二、軟件開發環境: 操作系統:比較穩定的是Ubuntu 10.04 64-bit Desktop,由於Ubuntu 10.04已不在維護,Google正在Ubuntu LTS(12.04 64-bit)上進行開發測試。建議選擇Ubuntu 10.04 64-bit。 注1:如果在新版的筆記本上安裝雙系統或者Ubuntu出現問題時,使用ubuntu維護盤的GParted工具來刪除原生Windows系統的分區表並格式化整個硬盤。 注2:服務器配置,由於各種原因,只能使用服務器來進行開發,所以需要進行一些網絡配置和VNC配置 網絡環境: 配置IP與DNS vim /etc/networking/interfacesauto eth0 iface eth0 inet static address 10.109.254.15 netmask 255.255.255.0 gateway 10.109.254.1 #dns-nameservers 10.3.9.4 10.3.9.5配置DNS vim /etc/resolv.conf
nameserver 10.3.9.4 nameserver 10.3.9.5重啟網絡 /etc/init.d/networking restart 安裝ssh sudo apt-get install ssh 安裝VNC
sudo apt-get install vnc4server
vncserver :3
檢查硬件環境
使用df -h檢查各磁盤空間使用情況,保證/home足夠空間。
軟件環境
python:要求2.6或者2.7
GNU Make:嚴格要求3.8.1
JDK 1.6
由於Ubuntu 12.04不支持Oracle JDK的apt安裝,下面提供安裝方式
說明:1.6 JDK 69M下載需要較長時間10~30分鐘。 Git 1.8.1以上 支持https方式同步git 下面提供最新版git的安裝方式sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-java6-installer
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
說明:23M下載需要較長時間5~10分鐘
,期待新的安裝方法
安裝完後需配置global設置
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
ccache
sudo apt-get install ccache
設置PATH
vim ~/.bashrc添加
export USE_CCACHE=1
source ~/.bashrc
測試設置成功:
echo $USE_CCACHE
安裝相關依賴package
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \libxml2-utils xsltproc
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2013-11/92207p2.htm