Android 台灣中文網

標題: 【XPT】源碼編譯系列(一)~建立cm11/cm12的開發編譯環境 [打印本頁]

作者: sharonliu    時間: 2014-1-1 22:34
標題: 【XPT】源碼編譯系列(一)~建立cm11/cm12的開發編譯環境
本帖最後由 sharonliu 於 2015-2-10 00:15 編輯

2015/02/09
重新編輯修正部份內容
.....................................................................................................................................
如果文章內容有不足或不正確的地方還請各方高手不吝指教

編譯cm11/cm12最好在Linux作業系統上編譯
至於windows或是mac要如何編譯要牽扯到的設定各自不同所以在此不做說明若有這方面需求的朋友請自行google學習
個人推荐用Ubuntu 14.10或Linux Mint 17.1等版本作業系統編譯
本篇文章著重在建立編譯cm11/cm12步驟
基本的linux指令在此不會特別逐步解釋代表的意義
若是對linux作業系統版本不熟悉的人可參考下面的文章
【XPT】從源碼編譯CyanogenMod(各版通用)(初學者向)+Linaro+...Miui?
http://apk.tw/forum.php?mod=view ... &fromuid=631396
寫的更詳細很適合剛入門的人閱讀學習

注意電腦使用的Linux作業系統版本最好是64-bit的
並且至少有4G的記憶體,原碼會佔用約20G的硬碟空間
請確保家目錄同步完原碼後至少還有20G的空間可用
否則編譯的過程會有問題無法順利編譯

教學開始
1.在終端機(terminal)下輸入下列指令,移除OpenJDK
  1. sudo apt-get purge openjdk-* icedtea-* icedtea6-*
複製代碼
2.安裝Oracle Java 6/7 jdk可以用ppa的方式安裝,免除一堆複雜的環境變數等設定

下面的指令可以根據自己的需要改成java7選擇預設編譯的jdk為1.7版本
  1. sudo add-apt-repository ppa:webupd8team/java
  2. sudo apt-get update && sudo apt-get install oracle-java6-installer
複製代碼
開始下載Oracle Java 6 jdk,並出現安裝的視窗選擇接受即可

備註:現在cm11/cm12已經支援可以直接使用openjdk 1.7編譯
如果不想使用Oracle jdk的人可以跳過步驟1和步驟2


3.安裝編譯cm11的所需要的套件
  1. sudo apt-get install bison build-essential curl flex g++-multilib gcc-multilib git-core gnupg gperf lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev libesd0-dev libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop squashfs-tools xsltproc pngcrush schedtool zip zlib1g-dev
複製代碼

4.建立目錄安裝設定repo,這個是google發展出來的android原碼版本控制工具
  1. mkdir ~/bin
  2. PATH=~/bin:$PATH
  3. cd ~/bin
  4. curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
  5. chmod a+x ~/bin/repo
  6. cd
複製代碼

5.建立源碼工作目錄

  1. mkdir cm-11
  2. cd cm-11
複製代碼

6.
初始化repo,cm11原碼

  1. repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
複製代碼
如果要編譯cm12的請使用下面的指令

  1. repo init -u git://github.com/CyanogenMod/android -b cm-12.0
複製代碼

7.
同步cm11/12原碼,此步驟約須下載約10多G的原碼資料,並佔用約20多G的硬碟空間,請耐心等待
  1. repo sync
複製代碼

備註:

repo可斷點續傳,如果同步的過程太花時間或是網路有問題時
可同時按下ctrl+z結束原碼同步的動作
下次下載源碼時只要再執行一次指令就可以從上次斷掉的地方繼續同步原碼
  1. repo sync
複製代碼

今天的教學到此為止
下回繼續繼續介紹如何編譯cm11/cm12





作者: sharonliu    時間: 2014-1-2 22:25
昨天因為排版的關係編譯cm11所需要的套件部分
複製貼上時會不正確
今天重新排版的部分才是正確的
作者: monitorstudio    時間: 2014-2-18 23:00
原來編譯cm用的套件可以用apt-get來安裝啊!
真方便~~~

作者: nightyfly    時間: 2014-5-22 16:43
如果同步的過程太花時間可同時按下ctrl+z結束原碼同步的動作


應該是 Ctrl+C ,可能筆誤
作者: deathrid    時間: 2014-11-9 12:50
補充一些更詳細的資料, 這邊用 build HTC wildfire 為例.
http://wiki.cyanogenmod.org/w/Build_for_buzz




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1