使用Cyanogenmod7源碼編譯製作Nexus One手機系統安裝包

來源:互聯網
上載者:User

0、安裝系統和開發環境:
a) 安裝Ubuntu10.04
b) 安裝Android SDK, 主要是後邊需要adb命令去連結裝置!

1、安裝必要的軟體:
$ sudo apt-get install git-core gnupg
$ sudo apt-get install flex bison gperf libsdl1.2-dev libesd0-dev
$ sudo apt-get install libwxgtk2.6-dev squashfs-tools
$ sudo apt-get install build-essential zip curl libncurses5-dev
$ sudo apt-get install zlib1g-dev pngcrush schedtool
$ sudo apt-get install sun-java6-jdk

2、建立目錄:
存放Cyanogenmod原始碼
$ mkdir -p ~/cyanogenmod

3、下載Cyanogenmod:
一般,先下載的repo,再用下載的repo程式下載Cyanogenmod原始碼
a)建立bin目錄,用來存放repo程式:
$ mkdir ~/bin

b)修改環境變數:
$ sudo gedit ~/.bashrc
在開啟的.bashrc檔案後增加一句:export PATH=$PATH:~/bin,配置環境變數。
CTRL+N新開一個視窗使用echo $PATH 命令可以看到我們新增的路徑生效

c)下載repo程式:
$ sudo curl http://git-repo.googlecode.com/files/repo-1.12 > ~/bin/repo
很多文章上說使用$ sudo curl http://android.git.kernel.org/repo > ~/bin/repo ,獲得repo程式,經測試,每次提示HTTP錯誤,repo無法下載!

d)修改下載的~/bin/repo檔案將第五行:
REPO_URL='https://code.google.com/p/git-repo/'
改為
REPO_URL='http://code.google.com/p/git-repo/'

e)設定repo許可權:
$ sudo chmod a+x ~/bin/repo  

f)使用repo下載CM原始碼,時間比較漫長:
$ repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
$ repo sync -j8

4、電腦USB資料線連結N1手機:
$ sudo adb kill-server
$ sudo adb devices
這時應該能看到裝置列表,如果命令找不到,安裝Android SDK,不多說了!


5、開始編譯原始碼:

a) 讀取手機設定檔,根據自己的機型找到相應的目錄:
$ cd ~/cyanogenmod/device/htc/passion  
$ ./extract-files.sh  

b)執行vendor下的get-rommanager檔案:
$ cd ~/cyanogenmod/vendor/cyanogen  
$ ./get-rommanager  

c)執行vendor下的extract-google-files 檔案:
$ ./extract-google-files  

d) 拷貝一個檔案,注意名字要一致:
$ cp ~/cyanogenmod/vendor/cyanogen/products/cyanogen_passion.mk  ~/cyanogenmod/buildspec.mk   

e) 在cyanogenmod根目錄下執行指令碼,配置一下變數:
$ cd ~/cyanogenmod/
$ . build/envsetup.sh  

f) Lunch一下,選擇你要編譯的版本,根據自己的機器進行選擇:
$ lunch cyanogen_passion-eng
如果不知到參數是什麼可以使用  $ lunch,這樣會出現選項,選擇你要編譯的選項  

g) 開始編譯,漫長的等待:
$ make -j4 CYANOGEN_WITH_GOOGLE=true otapackage  
當編譯結束會在~/cyanogenmod/out/target/product/passion/目錄下得到很多檔案,其中boot.img system.img userdata.img是我們安裝需要的鏡像檔案,可以打包成zip檔案進行安裝參考步驟h),也可以使用下邊方式進行測試,關機,長按手機電源鍵+軌跡球,進入了FASTBOOT介面,使用下邊命令更新手機系統:
$sudo fastboot flash boot boot.img
$sudo fastboot flash system system.img
$sudo fastboot flash userdata userdata.img
$sudo fastboot reboot

h) 打包簽名:
$ ./vendor/cyanogen/tools/squisher   
將在~/cyanogenmod/out/target/product/passion/產生update-cm-7.1.0-N1-KANG-signed.zip
檔案,可以參考小米N1 MIUI zip包刷機教程,方法相同,下邊是教程地址:

http://www.miui.com/a-19.html

參考文章:

http://www.iteye.com/topic/1113040

http://hi.baidu.com/lizhengjun2010/blog/item/0b84aa406f2d579eb2b7dcf7.html

http://www.cnrgb.com/compile-cyanogenmod-for-hero-gsm-android-from-source-code

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.