Ubuntu 16.04编译CM13(Google Neux 6P)

参考CM官方教程https://wiki.cyanogenmod.org/w/Build_for_angler

对啦,CMWIKI页面已经不能打开了,推荐一个网站www.archive.org在这可以找到CM的网站

 

准备:

1.Ubutun16.04 64bit笔记本(大约100 GB可用存储空间的计算机)

2.基本的linux知识

3.能够×××(×××或代理)

4.您要使用64位版本的Linux。一个32位的Linux环境只有在你正在构建CyanogenMod 6和更旧的时候。 对于CyanogenMod 10.1,如果遇到64位主机二进制文件的问题,您可以在您的环境中设置BUILD_HOST_32bit=1 。 这通常不是必需的,虽然,特别是与CyanogenMod 10.2和更新

开始:

1. 解锁Nexus 6P 

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