CM源码同步编译教程

一、操作系统

准备一个ubuntu安装镜像,我用的是12.10

安装系统时请安装到30g以上的盘,最好就50g以上啦

安装教程不多说,网上很多教程,这里我推荐用自带的wubi工具安装,比较方便

用虚拟机也可以,但是配置低的就不要用虚拟机了

系统安装完毕后,打开控制台,输入以下命令安装所需组件

(1)sudo apt-get install git-core gnupg flex bison gperf build-essential

(2)sudo apt-get install zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev

(3)sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386

(4)sudo apt-get install libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos

(5)sudo apt-get install python-markdown libxml2-utils schedtool pngcrush xsltproc zlib1g-dev:i386

(6)sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so   (若提示 ln: 无法创建符号链接"/usr/lib/i386-linux-gnu/libGL.so": 文件已存在   忽略之)

二、安装JDK,配置java环境

安装JDK前我们需要获得JDK的安装包,登陆Oracle官网:ttp://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html来下载JDK安装包。这里我们选择最新的1.7.0_51版的tar.gz安装包进行下载,(注意版本问题!!现在最新是jdk1.7.0_51,这里仅供参考,如发现不是jdk1.7.0_51 自己替换,下面全部设置都要换成你下载的版本,一定要注意!!!)

如下图

首先点击上面的Accept License Agreement   前面的圆圈才可下载

将下载好的JDK安装包解包,得到一个“jdk1.7.0_51”的文件夹,将其移动到主文件夹

打开终端cd到jdk1.7.0_51目录

(cd /home/zhjm/jdk1.7.0_51)注:zhjm是我的用户名请按照实际情况替换,仅供参考

在终端输入sudo gedit /etc/environment

JAVA_HOME="/home/zhjm/jdk1.7.0_51"

CLASSPATH=".:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar"

在PATH中添加:/home/zhjm/jdk1.7.0_51/bin注意与PATH原有的值之间用英文冒号:分隔,切勿把原来的值删除。

然后保存关闭,在终端中使用命令source /etc/envrionment更新。

如图

Ubuntu系统默认安装并使用OpenJDK(usr/lib/jvm/),因此需要手动修改系统默认的JDK,

sudo update-alternatives --install /usr/bin/javac javac /home/zhjm/jdk1.7.0_51/bin/javac 300

sudo update-alternatives --install /usr/bin/java java /home/zhjm/jdk1.7.0_51/bin/java 300

sudo update-alternatives --config javac,再选择相应的Priority 300

sudo update-alternatives --config java,再选择相应的Priority 300

如图

选择1,按后按回车,注意sudo update-alternatives --config javac

sudo update-alternatives --config java两个都要选择自己刚设置的如图框选的,即1(我这里是选1,请根据具体情况自己选择)

再到/etc/bin/下修改java与javac可执行权限.

至此配置完成,输入java -version、javac检查是否配置成功。

如图:

安装android SDK,设置adb

安装SDK、adb

从以下地址下载Android SDK包http://dl.google.com/android/android-sdHYPERLINK "http://dl.google.com/android/android-sdk_r21.0.1-linux.tgz"kHYPERLINK "http://dl.google.com/android/android-sdk_r21.0.1-linux.tgz"_r21.0.1-linux.tgz

将加载的SDK包解压到/home/sdk目录下(sdk目录自己新建一个,sdk目录的名字可以自己起,但是下面的环境变量配置需要修改成你自己修改的名字)

接下来打开终端,输入gedit .bashrc打开环境变量文件,添加如下代码到文本最末尾:

export PATH=~/sdk/android-sdk-linux/platform-tools:~/sdk/android-sdk-linux/tools:~/bin:$PATH

效果如图:(./bin:变量是后面repo文件需要用到的变量,这里一次性添加好,省事)

环境变量添加好后保存关闭,然后到~/sdk/android-sdk-linux/tools/下修改android可执行权限

之后重启终端输入android打开android SDK,如图:

等待将Packages列表加载好后,勾选Tools下的Android SDK Tools和Android SDK Platform-tools,点击install packages进行下载,下载好后关闭SDK即可,如图:(一些朋友的电脑打开SDK后发现无法更新Packages列表,那就需要FQ后下载了,或者一些可用的海外代理IP进行下载,代理IP设置方法:点击Tools,选择Options打开设置界面,在Proxy Settings中填入可用的代理地址)

注:在http://developer.android.com/sdk/installing.html网页中,大家会看到需要安装Eclipse,其实不需要安装Eclipse,这个是开发Android程序所需要的。

设置adb(是用中兴设备的同学可以直接试试第二个方法,且针对N880E使用(V880也可以),我也是找了很久才找到这个方法,似乎第一种连不上)

第一种方法(所有手机基本通用):将手机打开调试模式连接到电脑

打开终端,输入adb devices,如果显示出当前设备,就证明adb是正常的,如图

如果显示adb devices :???????????? no permissions或者没有显示的话,那就需要手动添加了

手动添加adb支持的方法

打开终端,输入lsusb,找到你的设备(Goodle Inc即设备名称,下图仅供参考如果是N880E会出现ZTE字样),记下ID后面的八位数字

接着输入sudo gedit /etc/udev/rules.d/70-android.rules,加入如下内容:如图

SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d002",MODE="0666"

添加好后保存并关闭,重启计算机,之后在终端输入adb devices就会发现adb已经恢复正常

注)其中的idvendor,idProduct指的是USB的ID可以使用lsusb查询得到。

比如我的是:

Bus 001 Device 003: ID 18d1:d002 High Tech Computer Corp

18d1 就是idVendor ,d002就是 idProduct

第二种方法是进入拨号,输入*983*87274#,然后点击一下最上面的All functions,如果弹出授权就授权吧,然后adb devices就能正常使用啦(这种方法只适用于中兴设备,其他的就不用试了

安装repo

在/home文件夹下新建一个bin文件夹(用于存放repo,环境变量之前已经添加好了,所以现在就不用添加了)

打开终端,输入

sudo curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

失败的话多试几次,那个神秘阻力你懂的

继续:

sudo chmod 0755 ~/bin/repo  赋予其权限

(或者:

curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo 来下载repo(如果长时间无反应或者出错,请到https://code.google.com/p/git-repo/downloads/list下载repo,下载好之后修改repo-1.19文件名为repo,复制到主文件夹bin目录)

以防万一我也在我的百度网盘上传了一份http://pan.baidu.com/s/1gdmQVr9

也可以在终端中输入chmod a+x ~/bin/repo来给repo添加运行权限)

到此为止,环境已经搭建完成,搭建完请再粗略浏览一遍是否有缺漏步骤

三、同步源码

1、在终端目录输入

mkdir ~/ydm   创建一个用来装源码的文件夹(ydm为我设置的名字,可根据自己喜好设置以下请自行更换为你设置的名字)

然后输入cd ydm回车

然后输入repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1回车

这句是指向cm10.1的源码所以地址是同步cm10.1的源码

当然可以自行替换为你想下载的安卓源码的地址

到https://github.com/CyanogenMod/android这里(这个网站经常不正常,有时候加载很慢很慢,如果你发现页面排版不正常就多少刷新几次)

然后在这里选择你想要的版本,

(比如我想要cm11,就选择cm11    吧)

然后拉下去找到这里

再找到这句

复制输入回车就行啦,这样同步的就是cm11的源码咯

然后就repo sync -j4 (j4表示4线程,不建议调太大)

也可以直接repo sync

如果中途断了或者出错什么的没关系,若没有关闭刚刚的终端就直接repo sync

如果终端关闭了,就要再cd到你的源码目录如cd ydm

然后再repo cync就可以继续下载了

这一步要很久很久,网速好的一晚上应该可以

同步完成就是显示这个啦

转载请注明,有错误希望指出qq:690615467

android sdk安装部分及adb设置等部分内容引用自imobile手机之家——Zero_初号
谢谢该作者

By zhjm

20140206

时间: 2024-10-06 05:22:33

CM源码同步编译教程的相关文章

[Android编译(二)] 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机

1 前言 经过一周的奋战,终于从谷歌官网上下载最新的android 6.0.1_r62源码,编译成功,并成功的刷入nexus6p,接着root完毕,现写下这篇博客记录一下实践过程. 2 简介 自己下载android系统源码,修改定制,然后编译刷入安卓手机,想想还有点小激动呢.简单点说一句话--定制我们自己的MIUI,这就是android的魅力,这篇博客博主就来教大家实现自己的定制系统. 首先,要明白下面的基础知识: (1) 什么是aosp? aosp就是android open source p

【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/51592930 手机的两种模式 : 在下面有详细的图片示例; -- Recovery 模式 : 音量键增加 + 电源键, 长按上述组合键, 看到 "MI" 的 LOGO 后即进入 Recovery 模式; -- Fastboot 模式 : 音量键减小 + 电源键, 长按上述组合键, 看到 "FASTBOOT" 后, 即 进入 FA

Android # 4.0.x(1-3) 源码 下载 编译

Android 4.0源码下载方法:repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1 官方下载页面:http://source.android.com/source/downloading.html Android SDK 4.0官方下载页面:http://developer.android.com/sdk/android-4.0.html android 4.0.3最新源码下载

CentOS7源码包安装教程(以apache为例)

Linux源码包安装教程(以apache为例) 1.选用版本是httpd-2.4.38.tar.gz 2.依赖的包有apr-1.6.5.tar.gz.apr-util-1.6.1.tar.gz.pcre-8.10.zip 3.我把安装包放在我的百度云,大家可以自行下载: 链接:https://pan.baidu.com/s/17tv2ohteUFUwbuQB9ylGCA 提取码:5jai 安装步骤: 第一步:yum安装必要的软件包 [[email protected] ~]#yum instal

liunx命令6 vim编辑、压缩命令、rpm、yum及源码包编译安装

[[email protected] ~]# yum install -y vim-enhanced vim打开文件编辑(有颜色) [[email protected] ~]# vim  !$                   //上一条命令的最后一条参数 [[email protected] ~]# vim +10 !$                //打开文件进入第十行 :set number                                 //显示行号 vim 一般模式

【转】Linux CentOS内核编译:下载CentOS源码、编译2.6.32-220的错误(apic.c:819 error 'numi_watchdog' undeclared)

一.下载CentOS源码 1.1 查看CentOS版本 cat /etc/issue 1.2 查看Linux内核版本 uname -r 1.3 下载 文件名:kernel-2.6.32-220.el6.src.rpm 下载地址:http://vault.centos.org/6.2/os/Source/SPackages/ 官网:http://vault.centos.org/ 1.4 从kernel-2.6.32-220.el6.src.rpm获取源码 1. rpm -i kernel-2.6

android源码的编译问题总结

由于目前的项目需要修改android的内核源码,所以我需要从android源码的编译开始学习. 下面看一下我的编译环境. 我使用的Ubuntu系统的版本是14.04,64位. gcc版本:4.8.8 编译过程我是看着google开发者官网,以及结合别人的博客进行编译的.编译的过程会遇到很多问题,在这里,我就把我遇到的问题总结一些,以便以后用到的时候容易查看,也方便别人编译android的时候遇到相同的问题,便于查看. 问题一:java版本问题 这个问题描述的是我当前使用的java版本是"1.7&

php源码的编译

本片文章主要介绍windows下的php源码的编译. 1.1 编译环境 软件 环境 操作系统 Windows 7 专业版 32bit Visual studio 2012 专业版 PHP 5.5.2.1 线程安全版本 PHP-SDK 下载 1.2 编译步骤 该配置步骤参考PHP官方文档. 1  解压PHP-sdk文件,分别放置于D:/PHP/PHP-sdk/: 2  在PHP-sdk下打开VS2012 x86本机工具命令行提示(该命令行提示符包含了VS的编译.链接等命令的path路径),跳转至P

源码包编译安装mariaDB

前言 MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统,由于其体积小.速度快.总体拥有成本低,并且之前是完全开源,所以大受欢迎.但由于后面MySQL卖给了SUN,随后SUN被Oracle收购,虽然也有开源免费版本,但是很多功能都需要另外购买商业版本,导致现在MySQL使用份额逐渐减少.所以MariaDB就是因为这种原因诞生出来,成为数据库管理系统是MySQL的一个分支. 先前已经使用二进制安装了mariaDB(详细请查看http://www.178linux.com/8787