文档章节

编译CM13笔记一

OriginLeon
 OriginLeon
发布于 2017/01/20 10:42
字数 446
阅读 186
收藏 1

1、安装Ubuntu,官方推荐14.04,但是我在学编译之前安装的16.04,所以将就着用了,遇到坑就google,解决问题也是一种学习能力。(Git和JDK就不介绍了,blog有记录)

2、下载repo工具,就不介绍这个工具了,google一下到处都是。

mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
echo "export PATH=~/bin:$PATH" >> ~/.bashrc
source ~/.bashrc

也可以去 GitHub下载,再按上面步骤赋执行权限,export环境变量。

3、找个空闲空间大的分区(100G以上),我这里是挂载win10下的磁盘。

$ mkdir /media/leon/downloads/android/android-rom/cm13
$ cd /media/leon/downloads/android/android-rom/cm13
$ repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0

4、初始化repo完成后,在上面创建的cm13目录下,找到.repo文件夹,修改其中的manifest.xml

  <remote  name="aosp"
           fetch="https://aosp.tuna.tsinghua.edu.cn"     #添加这行,将官方镜像替换为清华的aosp
           fetch="https://android.googlesource.com/"  #删除这行,aosp在官方下载慢的惊人
	   review="android-review.googlesource.com"
           revision="refs/tags/android-6.0.1_r74" />

5、在.repo目录下,建立local_manifests文件夹,

$ mkdir ./local_manifests
$ vim ./local_manifests/roomservice.xml

将一下内容添加到文件中:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="CyanogenMod/android_device_nubia_nx531j" path="device/nubia/nx531j" remote="github" revision="cm-13.0" />
  <project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" revision="cm-13.0"  />
  <project name="CyanogenMod/android_kernel_nubia_msm8996" path="kernel/nubia/msm8996" remote="github" revision="cm-13.0"  />
  <project name="CyanogenMod/android_vendor_nxp-nfc_opensource_frameworks" path="vendor/nxp-nfc/opensource/frameworks" remote="github" revision="cm-13.0"  />
  <project name="CyanogenMod/android_vendor_nxp-nfc_opensource_libnfc-nci" path="vendor/nxp-nfc/opensource/libnfc-nci" remote="github" revision="cm-13.0"  />
  <project name="CyanogenMod/android_vendor_nxp-nfc_opensource_Nfc" path="vendor/nxp-nfc/opensource/Nfc" remote="github" revision="cm-13.0"  />
  <project name="CyanogenMod/android_external_stlport" path="external/stlport" remote="github" revision="cm-13.0"  />
</manifest>

6、同步源码,大概25G左右

$ cat /proc/cpuinfo |grep "cores"|uniq    #查看cpu核心数,我的是4核,于是并行编译时参数位-j8(即4×2)
$ repo sync   -j8 --no-clone-bundle    #同步源码

© 著作权归作者所有

上一篇: 编译CM13笔记二
OriginLeon
粉丝 4
博文 56
码字总数 9548
作品 0
济南
程序员
私信 提问
非官方支援的系统的编译脚本怎么写?

@OriginLeon 你好,想跟你请教个问题: 您在编译CM13的nubia z11时,添加一个脚本到device/nubia/nx531j下,您能告诉我这个脚本怎么写吗?我在编译自己的z11的系统时也卡到这个问题了...

HeChenlan
2017/08/02
93
0
LineageOS 14.1(CM14.1)的快速下载与编译

代码的快速下载 Cyanogenmod OS或者说后来的Lineage OS的代码都是分为两个部分: cm团队自己或者社区开发的代码: 主要是适配设备, 例如vendor相关,放在github上面 aosp代码: google的AOSP代码...

sy373466062
2017/03/10
0
0
Ubuntu编译CM13

在Ubuntu 16.04编译CM13(Google Neux 6P) 参考CM官方教程: https://wiki.cyanogenmod.org/w/Buildfor_angler 对啦,CM的WIKI页面已经不能打开了,推荐一个网站www.archive.org在这可以找到CM的...

乌龟漫步
2017/01/26
0
0
Cocos2dx游戏开发系列笔记1:一个崭新的开始,cocos2dx2.2+ndkr9+Cygwin

Android开发者做cocos2dx最大的绊脚石,不是c++,而是环境的搭建... 骨头也是费了半天劲才终于在真机上看到了那个类似猕猴桃的头,这里简单记录一下。 环境:(算比较新了2013.11.17) coco...

懒骨头
2013/12/09
390
0
ESP8266笔记汇总

一、前言 2015年开始,随着ESP8266的横空出现,WiFi SoC大幅降价,市场模组价格一下被拉到了10元档。WiFi由于可直接入网的,在智能家居等行业中成为了应用最广泛的物联网技术。本尊贵为物联网...

iotisan
2017/02/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一起来学Java8(三)——方法引用

在一起来学Java8(一)——函数式编程中有一个简单的函数式编程的例子: import java.util.function.Consumer;class Person { public static void sayHello(String name) { S...

猿敲月下码
11分钟前
5
0
读书笔记:深入理解ES6(十一)

第十一章 Promise与异步编程   Promise可以实现其他语言中类似Future和Deferred一样的功能,是另一种异步编程的选择,它既可以像事件和回调函数一样指定稍后执行的代码,也可以明确指示代码...

张森ZS
35分钟前
11
0
面试官,Java8 JVM内存结构变了,永久代到元空间

在文章《JVM之内存结构详解》中我们描述了Java7以前的JVM内存结构,但在Java8和以后版本中JVM的内存结构慢慢发生了变化。作为面试官如果你还不知道,那么面试过程中是不是有些露怯?作为面试...

程序新视界
42分钟前
26
0
Elasticsearch 实战(一) - 简介

官腔 Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统 基本等于没说,咱们慢慢看 1 概述 百度:我们比如说想找寻任何的信息的时候,就会上百度去搜索一下,比如说找一部自己喜...

JavaEdge
47分钟前
18
0
【jQuery基础学习】11 jQuery性能简单优化

本文转载于:专业的前端网站➦【jQuery基础学习】11 jQuery性能简单优化 关于性能优化 合适的选择器 $("#id")会直接调用底层方法,所以这是最快的。如果这样不能直接找到,也可以用find方法继...

前端老手
56分钟前
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部