在Ubuntu 16.04編譯CM13(Google Neux 6P)java
參考CM官方教程: https://wiki.cyanogenmod.org/w/Build_for_anglerlinux
對啦,CM的WIKI頁面已經不能打開了,推薦一個網站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)遇到fastboot或adb找不到問題,請確保Android SDK文件夾/platform-tools包含adb和fastboot文件,它們在終端上鍵入的命令的執行路徑中。 一般輸入相似
h)
# PATH=$PATH:/your/specific/path/to/android/sdk/platform-tools/
i)安裝依賴(32和64位)
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.10(wily)和更新版本,請替換:
· lib32readline-gplv2-dev lib32readline6-dev
對於Ubuntu 16.04(xenial)和更新版本,替換(另見如下java註釋):
libwxgtk2.8-dev libwxgtk3.0-dev · openjdk-7-jdk openjdk-8-jdk
Java版本: CyanogenMod的不一樣版本須要不一樣版本的JDK(Java開發工具包):
· 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
$ 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
排錯:
第二,獎金提示! 若是你獲得一個命令未找到錯誤croot , brunch或lunch ,請確保你在這個終端會話從~/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
$ cd $OUT
(1) recovery.img ,其中包含CyanogenMod恢復,
(2) cm-13.0-20161224-UNOFFICIAL-angler.zip ,這是CyanogenMod安裝包。