歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Android ROM開發之Android源碼搭建與編譯

Android ROM開發之Android源碼搭建與編譯

日期:2017/2/28 14:38:57   编辑:Linux教程

因為工作上的一些需要,需要進行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/interfaces
auto 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安裝,下面提供安裝方式
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer
說明:1.6 JDK 69M下載需要較長時間10~30分鐘。 Git 1.8.1以上 支持https方式同步git 下面提供最新版git的安裝方式
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

Copyright © Linux教程網 All Rights Reserved