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安装包。