您的位置:首页 > 其它

下载最新的CM源码

2011-08-26 10:00 190 查看
下载CM源代码其实跟下载google的纯Android源代码是类似的,下面的是CM的官方网站,你要先下载你的手机对应的ROM,放入SDCARD根目录,以防万一。

http://www.cyanogenmod.com/



下面再介绍一个网站:http://forum.xda-developers.com/index.php

这是XDA开发者论坛,里面高手如云,会对你有帮助的



现在开始告诉大家如何下载源码、编译源码、并将其刷到手机上



1、安装需要的软件

我用的是ubuntu 11.04

sudo apt-get install <软件列表>

下面是软件列表:

Java代码


git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool

注意:如果JDK无法安装的话,可以自己下载,或者参考我的这篇博客:

http://hualang.iteye.com/blog/1132207



2、创建目录

mkdir -p ~/cyanogenmod

用于存放下载后的源代码



3、开始下载喽



Java代码


curl http://android.git.kernel.org/repo > ~/bin/repo
chmod a+x ~/bin/repo

用下载的repo下载Cyanogenmod源代码



Java代码


repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
repo sync -j16

这里说一下repo sync 这个过程那是相当的慢的。使用repo sync -jn,n表示同时打开的网络链接数,开启多个网络连接来下载,这样速度会有所提升的。



4、下面开始编译源代码

首先,需要将你的手机的USB调试打开,并连接到电脑。



Java代码


cd ~/cyanogenmod/device/samsung/crespo
./extract-files.sh

然后

Java代码


cd ~/cyanogenmod/vendor/cyanogen
./get-rommanager

Java代码


./extract-google-files

5、拷贝一个文件,注意名字要一致

Java代码


cp ~/cyanogenmod/vendor/cyanogen/products/cyanogen_crespo.mk ~/cyanogenmod/buildspec.mk

6、在cyanogenmod根目录下执行脚本,配置一下变量

Java代码


. build/envsetup.sh
或者
source build/envsetup.sh

7、Lunch一下,选择你要编译的版本

Java代码


lunch cyanogen_crespo-eng
或者
lunch
这样会出现选项,选择你要编译的选项

8、开始编译

Java代码


make -j4 CYANOGEN_WITH_GOOGLE=true otapackage

9、执行一下

Java代码


./vendor/cyanogen/tools/squisher



这样就会在~/cyanogenmod/out/target/product/crespo下有一个update的zip包,那个就是你编译生成的了。

你可以将其刷到手机上

其实CM的一个好处就是不用你自己再编译内核源码,并且直接生成zip包,免去了***zip包的麻烦了



如果没有手机,可以用模拟器测试一下,将kernel/cm-kernel/arch/arm/boot目录下的zImage拷贝的一个文件夹中,注意,你要安装了sdk才行,还有下载一个fastboot小工具

Java代码


adb reboot bootloader
./fastboot boot zImage

然后就等着看效果了

*************************************

该教程大量参考了slax大神和G1的NOirBRight大神的教程(因为有一些东西都过时了,会给部分读者造成困扰)。



首先先安装一个ubuntu,10.10(我用的是10.10,你有其他需求下新版本的也行,分区建议40g+)。

安装完以后,可以先配置一下源。

这儿罗嗦几句。

http://code.google.com/p/ailurus/downloads/list

建议下载这个软件,格式是deb直接安装就行,这个相当于windows的优化大师,里面有一个源列表,能帮你测试出速度最快的源,勾选上以后就能直接改变源的文件了,不用你打开文件再修改保存了。

接下来就是环境的组建了。

JDK

到sun公司的官网下载jdk。

我下的是

jdk-6u24-linux-i586.bin。

这个文件运行的时候是在当前目录安装的,所以找一个你想安装的目录,我用的是/usr/lib/jvm/java,

代码:

cd ..

cd usr/lib

mkdir jvm

cd jvm

mkdir java

cd java

复制代码
(然后把文件jdk-6u24-linux-i586.bin复制进去。)

Chmod u+x jdk-6u24-linux-i586.bin

./jdk-6u24-linux-i586.bin

复制代码
屏幕持续滚动,直到让你输入yes/no,当然yes,回车。

安装结束后:

gedit /etc/profile

复制代码
在打开的文件最后添上:

#set java environment

J***A_HOME=/usr/lib/jvm/java/jdk1.6.0_24

export JRE_HOME=/usr/lib/jvm/java/jdk1.6.0_24/jre

export CLASSPATH=.:$J***A_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$J***A_HOME/bin:$JRE_HOME/bin:$PATH

(配置系统java环境)

重启,检测java:

java -version

复制代码
出现:

java version "1.6.0_24"

Java(TM) SE Runtime Environment (build 1.6.0_24-b07)

Java HotSpot(TM) Server VM (build 19.1-b02, mixed mode)

就代表安装成功了。

Sdk

去android官网下载android-sdk_r10-linux_x86.tgz

完了以后直接解压缩,得到android-sdk-linux_x86文件夹。将文件夹放到一个你想放的地方,比如我直接放在了桌面上(/root/桌面/android-sdk-linux_x86)。

这需要运行一些代码,才能获得一些常用的工具,如adb等,如下:

cd /root/桌面/android-sdk-linux_x86

cd tools

./android

复制代码
会开启一个窗口,选择一些需要的包,像sdk tools和sdk platform-tools等,网络好的话,下载速度会快点。

完了以后继续改变下全局变量,代码:

gedit ~/.bashrc

复制代码
打开后添加:

#set path for android sdk tools

export PATH=$PATH:/root/桌面/android-sdk-linux_x86/tools/

export PATH=$PATH:/root/桌面/android-sdk-linux_x86/platform-tools/

后面的一些文件夹类似,这个就可以在终端中用sdk的工具了。

检测,连上你的手机,代码:

adb devices

复制代码
会出现一串数字和字母的序列号的显示的话,即表示SDK安装成功。

软件的安装

第一步配置的源在这就有效果了,下面列出需要安装的常用软件:

• git-core

• gnupg

• flex

• bison

• gperf

• libsdl-dev

• libesd0-dev

• libwxgtk2.6-dev

• build-essential

• zip

• curl

• libncurses5-dev

• zlib1g-dev

• valgrind

• libreadline5-dev

用第一个做例子,代码:

i. 在主目录下新建一个文件夹,作为源码的存放目录

代码:

apt-get install git-core

复制代码
然后等一屏幕的英文,会让你选择y/n的,输入y后,安装完成。

其他的软件类似。

源码同步

代码:

cd ~

mkdir bin

gedit ~/.bashrc

复制代码
打开后在最后添加:

export PATH=$PATH:~/bin

保存退出。

完了以后继续代码:

curl http://android.git.kernel.org/repo > ~/bin/repo

chmod a+x ~/bin/repo

cd ~

mkdir cm

cd cm

复制代码
(在主目录下建立一个cm文件夹用于存放cm7的源码)

repo init -u git://github.com/cyanogen/android.git -b gingerbread

复制代码
打完上面的命令后过程比较短,结束后会让你填一下名字和邮箱,填完就ok了。

再接下来开始同步源码。

在cm文件夹里建立一个文件do.sh

用文本编辑它,复制下面的代码进去:

#!/bin/sh

repo sync -j16

while [ $? -ne 0 ]

do

repo sync -j16

done

复制代码
(上面的16表示同时执行几个线程,一般下载都有峰值的,弄太大也没有效果)

保存,完了以后继续在终端写代码:

cd ~

cd cm

./do.sh

复制代码
终端开始跳动英文,就表示开始同步了(这个文件可以重复执行,就是说电脑关机了(或者关闭终端了),重新开机后(打开终端),再执行一次就直接继续下载了,不用担心重复下载的问题。

基本就是这些了,有问题的可以直接回复。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: