標籤:android style blog http ar color os 使用 sp
http://my.oschina.net/zhoulc/blog/170698
http://jingyan.baidu.com/article/c85b7a641200e0003bac95a3.html
注意:
1,不要使用64位ubuntu
2,務必分配4g或者以上的swap空間
系統定製基本流程:擷取源碼 --> 修改源碼(包括修改和裁剪)--> 編譯修改後的源碼 --> 得到目標系統檔案 --> 移植系統 --> 測試成功 --> 完成
一,源碼下載
Google搜尋download android source code,第一個結果就是官方文檔(http://source.android.com/source/downloading.html)教你怎麼下載源碼,大概步驟如下:
1,在目前使用者的home目錄下建立一個檔案夾來儲存一寫可執行檔,並把該檔案夾加到環境變數中;
mkdir ~/bin
PATH=~/bin:$PATH
2,安裝curl,安裝git,下載Repo;
sudo apt-get install curl
sudo apt-get install git
如果要使用代理:
curl -x 127.0.0.1:8087 http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
不使用代理:
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
當然還要讓repo具有可執行許可權:
chmod a+x ~/bin/repo
3,建立一個檔案夾來儲存Android源碼
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
4,初始化倉庫資訊,並設定要下載的版本
repo init -u https://android.googlesource.com/platform/manifest
repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
PS:repo設定代理的方式:
export HTTP_PROXY=127.0.0.1:8087
export HTTPS_PROXY=127.0.0.1:8087
5,同步Android源碼
repo sync
PS:同步過程中如果中斷不用擔心,使用repo sync可以繼續同步,同步過程中同步內容是隱藏的,到源碼同步目錄按Ctrl+h可以查看隱藏內容;我下載的是android-4.0.1_r1大概有11g多,用了差不多十個小時;電信20M+代理大概3個小時下載完成
二,編譯環境的配置
編譯過程值得注意的就是使用32位系統以及保證充足的記憶體空間!!!
Android編譯需要非常多的依賴,這裡列出我編譯時間用到的依賴以及一些問題
1,安裝基本依賴支援
sudo apt-get install build-essential make libc6-dev
sudo apt-get install bison patch texinfo libncurses-dev
sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip
sudo apt-get install gnupg ncurses-dev zlib1g-dev valgrind
2,jdk的安裝
由於甲骨文收購了sun公司,然後把google告了所以Android的jdk平台最多隻能達到1.6也就是jdk6,所以用jdk7是不行的,如果android版本比較低可能還需要使用jdk5,這裡簡紹使用jdk6;
(1),Google搜尋jdk-6u45-linux-i586.bin下載jdk6安裝包(甲骨文官方沒有找到)
(2),把安裝包拷貝到~/bin目錄下
(3),賦予安裝包執行許可權
chmod a+x ~/bin/jdk-6u45-linux-i586.bin
(4),執行安裝包
~/bin/jdk-6u45-linux-i586.bin
(5),執行完成後會在bin目錄下產生jdk-1.60_45這個目錄把這個目錄下的bin目錄配置到環境變數中
PATH=~/bin/jdk-1.60_45/bin:$PATH
執行java命令檢查是否安裝成功
3,gcc和g++的安裝
由於ubuntu內建的g++和gcc版本過高,所以無法正常的編譯源碼,這裡需要安裝4.4.6版本
(1),移除內建的gcc和g++
sudo apt-get remove gcc
sudo apt-get remove g++
(2),安裝4.4版本的gcc和g++
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4
(3),為4.4版本的gcc和g++建立串連
cd /usr/bin
sudo rm gcc
sudo rm g++
sudo rm cc
sudo ln gcc-4.4 gcc
sudo ln gcc-4.4 cc
sudo ln g++-4.4 g++
三,源碼編譯
cd ~/bin/WORKING_DIRECTORY
(-j4是指定線程數量,如果電腦效能好可以寫成-j8什麼的)
make -j4
Android源碼編譯過程