Android ROM研究---CyanogenMod源代码下载及编译
来源:互联网 发布:网络电视高清直播大全 编辑:程序博客网 时间:2024/05/07 12:08
下载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 <软件列表>
下面是软件列表:
- 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、开始下载喽
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
- chmod a+x ~/bin/repo
用下载的repo下载Cyanogenmod源代码
- repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
- repo sync -j16
这里说一下repo sync 这个过程那是相当的慢的。使用repo sync -jn,n表示同时打开的网络链接数,开启多个网络连接来下载,这样速度会有所提升的。
4、下面开始编译源代码
首先,需要将你的手机的USB调试打开,并连接到电脑。
- cd ~/cyanogenmod/device/samsung/crespo
- ./extract-files.sh
然后
- cd ~/cyanogenmod/vendor/cyanogen
- ./get-rommanager
- ./extract-google-files
5、拷贝一个文件,注意名字要一致
- cp ~/cyanogenmod/vendor/cyanogen/products/cyanogen_crespo.mk ~/cyanogenmod/buildspec.mk
6、在cyanogenmod根目录下执行脚本,配置一下变量
- . build/envsetup.sh
- 或者
- source build/envsetup.sh
7、Lunch一下,选择你要编译的版本
- lunch cyanogen_crespo-eng
- 或者
- lunch
- 这样会出现选项,选择你要编译的选项
8、开始编译
- make -j4 CYANOGEN_WITH_GOOGLE=true otapackage
9、执行一下
- ./vendor/cyanogen/tools/squisher
这样就会在~/cyanogenmod/out/target/product/crespo下有一个update的zip包,那个就是你编译生成的了。
你可以将其刷到手机上
其实CM的一个好处就是不用你自己再编译内核源码,并且直接生成zip包,免去了制作zip包的麻烦了
如果没有手机,可以用模拟器测试一下,将kernel/cm-kernel/arch/arm/boot目录下的zImage拷贝的一个文件夹中,注意,你要安装了sdk才行,还有下载一个fastboot小工具
- adb reboot bootloader
- ./fastboot boot zImage
然后就等着看效果了
- Android ROM研究---CyanogenMod源代码下载及编译
- Android ROM研究---CyanogenMod源代码下载及编译
- CyanogenMod源代码下载及编译
- CyanogenMod源码下载和编译(Android ROM定制基础篇)
- CyanogenMod源码下载和编译(Android ROM定制基础篇)
- CyanogenMod源码下载和编译(Android ROM定制基础篇)
- CyanogenMod源码下载和编译(Android ROM定制基础篇)
- Android 第三方ROM CyanogenMod 源码下载,编译,刷机
- CyanogenMod源码下载和编译(Android ROM定制基础篇)
- 【Android ROM定制】CyanogenMod源码下载和编译
- CyanogenMod源码下载和编译(Android ROM定制基础篇)
- Android 第三方ROM CyanogenMod 源码下载,编译,刷机
- CyanogenMod源码下载和编译(Android ROM定制基础篇)
- CyanogenMod源码下载和编译(Android ROM定制基础篇)
- Android 第三方ROM CyanogenMod 源码下载,编译,刷机
- Android ROM研究---如何在ubuntu下下载姜饼(Gingerbread)源代码并编译android ROM
- Android ROM研究---如何在ubuntu下下载姜饼(Gingerbread)源代码并编译android ROM
- Android ROM研究---如何在ubuntu下下载姜饼(Gingerbread)源代码并编译Android ROM
- 读书笔记 - 深入解析Windows操作系统 - C1. 概念和工具
- 黑马程序员——ArrayList去除自定义对象的重复
- 两个小朋友在抢苹果,谁都说是她的 。
- qt轻便实现递归目录遍历
- 带温度计的杯子
- Android ROM研究---CyanogenMod源代码下载及编译
- Ceph:一个 Linux PB 级分布式文件系统
- 传统杀毒软件 vs. 军用恶意软件
- 可以听得懂的钟声
- 交互系统的构建之(一)重写Makefile编译TLD系统
- C语言中auto,register,static,const,volatile的区别
- putty "connection reset by peer"
- C++基类与派生类的转换
- linux c库文件和头文件相关问题