CM12同步源码及编译教程
同时提供基于安卓5.0的MKL魔趣猪扒饭编译教程~
【玩机组出品】魔趣猪扒饭MKL50.1编译教程
http://www.oneplusbbs.com/forum.php?mod=viewthread&tid=578692
环境搭建
1.安装64位Ubuntu系统(实体安装、虚拟机安装均可)
注意:要求机器至少4G内存(虚拟机至少分配4G内存),硬盘至少100G空间(源码20G+,编译后整个目录约60~70G)
安装方法请百度~
2.更新系统至最新版本,在终端下输入
- sudo apt-get update
- sudo apt-get upgrade
复制代码
3.安装编译必需软件包
- sudo apt-get install bison build-essential curl flex git gnupg gperf libesd0-dev libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop openjdk-7-jdk openjdk-7-jre pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev
复制代码
4.建立repo命令
- 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
复制代码
注意,第二行要从谷歌那里下载repo小程序,国内网络你懂的,可以在浏览器上面挂个代理通过以下地址下载好,拷贝到~/bin/repo,再执行第三行和第四行命令
- https://storage.googleapis.com/git-repo-downloads/repo
复制代码
也可以使用我的附件解压得到的repo文件,我的附件是2014/11/23下载的,不保证是最新的~ <ignore_js_op>
repo.rar (9.1 KB, 下载次数: 324)
同步源码
1.新建一个储存源码的文件夹,这里以~/android/cm为例
- mkdir ~/android/cm
- cd ~/android/cm
复制代码
2.初始化源码目录
- repo init -u git://github.com/CyanogenMod/android.git -b cm-12.0
复制代码
3.添加一加专用文件目录
- mkdir ~/android/cm/.repo/local_manifests
- gedit ~/android/cm/.repo/local_manifests/local_manifests.xml
复制代码
把以下内容复制进去
- <?xml version="1.0" encoding="UTF-8"?>
- <manifest>
- <project name="CyanogenMod/android_device_oneplus_bacon" path="device/oneplus/bacon" remote="github" />
- <project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
- <project name="CyanogenMod/android_device_oppo_msm8974-common" path="device/oppo/msm8974-common" remote="github" />
- <project name="CyanogenMod/android_device_oppo_common" path="device/oppo/common" remote="github" revision="cm-12.0" />
- <project name="CyanogenMod/android_kernel_oneplus_msm8974" path="kernel/oneplus/msm8974" remote="github" />
- <project name="TheMuppets/proprietary_vendor_oppo" path="vendor/oppo" remote="github" />
- <project name="TheMuppets/proprietary_vendor_oneplus" path="vendor/oneplus" remote="github" />
- <project name="CyanogenMod/android_frameworks_opt_connectivity" path="frameworks/opt/connectivity" remote="github" revision="cm-11.0" />
- </manifest>
复制代码
4.针对国内网络环境的处理(无需FQ)
- sudo gedit /etc/hosts
复制代码
在hosts文件中加入
- 203.208.49.187 googlesource.com
- 203.208.49.187 android.googlesource.com
- 203.208.49.187 gerrit.googlesource.com
复制代码
注意,203.208.49.187只是我这里临时获取的ip,请替换成适合你的地区的ip,具体获取方法如下
- ping ad.doubleclick.net
复制代码
这样就可以解析出来一个ip地址,这个ip地址是可以正常访问谷歌的~
5.拉取代码(需要下载约十几个G的内容,花费时间参考各自网速)
- repo sync
复制代码
如果中间断网了,或者出错了,重新repo sync一下就可以继续了~
6.获取预编译的部分文件
- cd ~/android/cm/vendor/cm
- ./get-prebuilts
复制代码
编译ROM
1.初始化编译环境
- cd ~/android/cm
- . build/envsetup.sh
- lunch cm_bacon-userdebug
复制代码
2.编译ROM(我笔记本下面虚拟机花费时间约2小时,取决于个人电脑性能)
- make bacon -jX
复制代码
其中X是你CPU的线程数,比如我给虚拟机分配的是6线程,编译命令就是
- make bacon -j6
复制代码
注意:目前编译刚开始出现下面几行是正常现象,不影响的~
- find: 'src': No such file or directory
- find: 'phone/java': No such file or directory
- find: 'dummy': No such file or directory
复制代码
再次编译
1.建议每次编译都要把上一次编译的内容清除,否则有可能出现莫名其妙的问题
- make clobber
复制代码
2.再次同步源码到最新版本
- repo sync
复制代码
3.初始化编译环境
- . build/envsetup.sh
- lunch cm_bacon-userdebug
复制代码
4.编译ROM
- make bacon -jX
复制代码
参考
CM官方指导http://wiki.cyanogenmod.org/w/Build_for_bacon
魔趣官方指导http://wiki.mokeedev.com/Setting_Up_A_Compile_Environment
GRMrGecko的教程http://forum.xda-developers.com/ ... neplus-one-t2947949
CM12同步源码及编译教程的更多相关文章
- Android 11 源码下载+编译教程
下载AOSP源码 这里我使用的是外国语大学的镜像执行的下载,Mac系统的话,一定要在区分大小姐的磁盘下执行 repo init -u https://mirrors.bfsu.edu.cn/git/A ...
- [Issue]repo/repo init-解决同步源码Cannot get http://gerrit.googlesource.com/git-repo/clone.bundle
1. 前两天想搭建freescale L3.0.35_4.1.0_BSP包,结果LTIB环境搭建好,也编译出rootfs/uboot/kernel的Image了,但是准备移植uboot的时候发现ubo ...
- 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)
分类: Android 系统开发(5) 作者同类文章X 版权声明:本文为博主原创文章 ...
- 通过清华大学镜像下载Android源码并编译源码
之前看源码都是在Windows下用SourceInsight看,虽然达到了研究源码的效果,但终究还是有遗憾...趁着周末,准备在Ubuntu虚拟机上下载编译源码. 之前下源码时,有了解一些Androi ...
- 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fuchaosz/article/details/52473660 1 前言 经过一周的奋战,终于从谷 ...
- 鸿蒙内核源码分析(编译脚本篇) | 如何防编译环境中的牛皮癣 | 百篇博客分析OpenHarmony源码 | v58.01
百篇博客系列篇.本篇为: v58.xx 鸿蒙内核源码分析(环境脚本篇) | 编译鸿蒙原来如此简单 | 51.c.h.o 本篇用两个脚本完成鸿蒙(L1)的编译环境安装/源码下载/编译过程,让编译,调试鸿 ...
- 鸿蒙内核源码分析(编译过程篇) | 简单案例窥视GCC编译全过程 | 百篇博客分析OpenHarmony源码| v57.01
百篇博客系列篇.本篇为: v57.xx 鸿蒙内核源码分析(编译过程篇) | 简单案例窥视编译全过程 | 51.c.h.o 编译构建相关篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙 ...
- 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙看这篇或许真的够了 | 百篇博客分析OpenHarmony源码 | v50.06
百篇博客系列篇.本篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙防掉坑指南 | 51.c.h.o 编译构建相关篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙防掉 ...
- net-snmp源码VS2013编译添加加密支持(OpenSSL)
net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...
随机推荐
- 安装TFS2008最终版(转载)
一.安装操作系统:windows server 2003 + Sp2具体步骤: 1.安装windows server 2003时选用工作组(默认为workgroup).由于在工作组环境中部署,因此使用 ...
- myBatis 实现用户表增删查改操作<方法1 没有使用接口的>(最终版)
在UserMapper.xml中添加增删改查 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYP ...
- 新浪微博客户端(13)-使用UIWebView加载OAuth授权界面
使用UIWebView加载OAuth授权界面 DJOAuthViewController.m #import "DJOAuthViewController.h" @interfac ...
- sh脚本学习之: sh脚本 、sed、awk
sh脚本 sh命令的批处理文件,支持更复杂的逻辑. Shell中的变量 参数 $0 当前脚本路径 $1....$n 脚本执行对应的第n个参数 条件判断 文件判断 test [op] path e存在 ...
- acdream.郭式树(数学推导)
郭式树 Time Limit:2000MS Memory Limit:128000KB 64bit IO Format:%lld & %llu Submit Status Pr ...
- 【风雪之隅】写在PHP7发布之际一些话 2015-12-02
做开源也有4,5年的时间了,从最初的 Yaf,到今天的 PHP7,我参与的项目越来越多,使用我代码的用户也越来越多,明天就要发布的PHP7,绝对是我从事开源以来的一个最重要里程碑,我应该纪念一下今天, ...
- [Effective JavaScript笔记]第1条:了解使用的js版本
1997年 正式成为国际标准,官方名称为ECMAScript. 1999年 定稿第3版ECMAScript标准(简称ES3),最广泛的js版本. 2009年 发布第5版即ES5,引入了一些新特性,标准 ...
- unity3d webplayer 16:9 居中显示模板
原地址:http://www.cnblogs.com/88999660/archive/2013/04/12/3016773.html <!DOCTYPE html PUBLIC "- ...
- Stanford机器学习---第四讲. 神经网络的表示 Neural Networks representation
原文 http://blog.csdn.net/abcjennifer/article/details/7749309 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...
- OpenGL顶点缓冲区对象(VBO)
转载 http://blog.csdn.net/dreamcs/article/details/7702701 创建VBO GL_ARB_vertex_buffer_object 扩展可 ...