Ubuntu編譯CM13


Ubuntu 16.04編譯CM13(Google Neux 6P)java

參考CM官方教程https://wiki.cyanogenmod.org/w/Build_for_anglerlinux

對啦,CMWIKI頁面已經不能打開了,推薦一個網站www.archive.org在這能夠找到CM的網站android

 

準備:git

1.Ubutun16.04 64bit筆記本(大約100 GB可用存儲空間的計算機)github

2.基本的linux知識api

3.可以×××(×××或代理)緩存

4.您要使用64位版本的Linux。一個32位的Linux環境只有在你正在構建CyanogenMod 6和更舊的時候。 對於CyanogenMod 10.1,若是遇到64位主機二進制文件的問題,您能夠在您的環境中設置BUILD_HOST_32bit=1 。 這一般不是必需的,雖然,特別是與CyanogenMod 10.2和更新bash

開始:curl

1. 解鎖Nexus 6P maven

a)安裝 Android SDK

b)在設備上啓用USB調試 。

c)經過USB將設備鏈接到計算機。

d)從計算機上的終端,鍵入如下命令將設備引導到快速引導模式:adb reboot bootloader 

e)一旦設備處於快速啓動模式,鍵入fastboot devices看到該fastboot devices

f) 若是你看到「沒有權限fastboot」,嘗試以root身份運行fastboot。 

g)遇到fastbootadb找不到問題,請確保Android SDK文件夾/platform-tools包含adbfastboot文件,它們在終端上鍵入的命令的執行路徑中。 一般輸入相似

h)

# PATH=$PATH:/your/specific/path/to/android/sdk/platform-tools/


i)安裝依賴(3264)

bc bison build-essential curl flex git gnupg gperf libesd0-dev liblz4-tool 
libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop 
maven openjdk-7-jdk pngcrush schedtool squashfs-tools xsltproc zip 
zlib1g-dev


     64位:

g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev

     對於Ubuntu 15.10wily)和更新版本,請替換: 

· 
lib32readline-gplv2-dev
 
lib32readline6-dev

對於Ubuntu 16.04xenial)和更新版本,替換(另見如下java註釋):

libwxgtk2.8-dev libwxgtk3.0-dev 
· openjdk-7-jdk openjdk-8-jdk


Java版本: CyanogenMod的不一樣版本須要不一樣版本的JDKJava開發工具包): 

· CyanogenMod 7 - 9:Sun / Oracle Java SE 1.6 
· CyanogenMod 10.1:Sun / Oracle Java SE 1.6或1.7 
· CyanogenMod 10.2 - 11.0:Sun / Oracle Java SE 1.6或1.7(OpenJDK 1.7工做正常,但構建系統將顯示警告) 
· CyanogenMod 12.0-13.0:OpenJDK 1.7(見關於下面的OpenJDK 1.8的註釋) 
· CyanogenMod 14.1:OpenJDK 1.8


 

建立目錄

 $ mkdir -p ~/bin
 $ mkdir -p ~/android/system


安裝repo命令 

 

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo 
$ chmod a+x ~/bin/repo


初始化CyanogenMod

 

$ cd ~/android/system/ 
$ repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0


下載源代碼

$ repo sync

 

準備設備特定的代碼

 
$ source build/envsetup.sh $ breakfast angler

打開緩存以加快構建

export USE_CCACHE=1 
prebuilts/misc/linux-x86/ccache/ccache -M 50G


開始構建

 
$ croot $ brunch angler

排錯:

 

  若是構建沒有啓動,請嘗試lunch ,從菜單中選擇您的設備。 若是這不工做,嘗試breakfast ,並從菜單中選擇。 命令make angler者而後工做。 

 第二,獎金提示! 若是你獲得一個命令未找到錯誤croot , brunchlunch ,請確保你在這個終端會話從~/android/system目錄中完成source build/envsetup.sh命令。 

 

 第三個提示! 若是構建在下載Gello時失敗,則須要將缺乏的證書導入Maven的信任庫。 有關如何操做的詳細說明,請點擊這裏 

若是構建斷開

· 若是你遇到這不足夠 內存相關的錯誤... 

ERROR: signapk.jar failed: return code 1make: *** [out/target/product/angler/cm_angler-ota-eng.root.zip] Error 1

編譯完成

wKioL1iLGOCSU61rAAOiV6-TIFg541.jpg

wKiom1iLGOzCtMJ0AAnUvrqWFBU984.jpg

安裝構建

$ cd $OUT

(1) recovery.img ,其中包含CyanogenMod恢復,

(2)  cm-13.0-20161224-UNOFFICIAL-angler.zip ,這是CyanogenMod安裝包。

相關文章
相關標籤/搜索