0、安装系统和开发环境:
a) 安装Ubuntu10.04
b) 安装Android SDK, 主要是后边需要adb命令去链接设备!
1、安装必要的软件:
$ sudo apt-get install git-core gnupg
$ sudo apt-get install flex bison gperf libsdl1.2-dev libesd0-dev
$ sudo apt-get install libwxgtk2.6-dev squashfs-tools
$ sudo apt-get install build-essential zip curl libncurses5-dev
$ sudo apt-get install zlib1g-dev pngcrush schedtool
$ sudo apt-get install sun-java6-jdk
2、创建目录:
存放Cyanogenmod源代码
$ mkdir -p ~/cyanogenmod
3、下载Cyanogenmod:
一般,先下载的repo,再用下载的repo程序下载Cyanogenmod源代码
a)建立bin目录,用来存放repo程序:
$ mkdir ~/bin
b)修改环境变量:
$ sudo gedit ~/.bashrc
在打开的.bashrc文件后增加一句:export PATH=$PATH:~/bin,配置环境变量。
CTRL+N新开一个窗口使用echo $PATH 命令可以看到我们新增的路径生效
c)下载repo程序:
$ sudo curl http://git-repo.googlecode.com/files/repo-1.12 > ~/bin/repo
很多帖子上说使用$ sudo curl http://android.git.kernel.org/repo > ~/bin/repo ,获得repo程序,经测试,每次提示HTTP错误,repo无法下载!
d)修改下载的~/bin/repo文件将第五行:
REPO_URL='https://code.google.com/p/git-repo/'
改为
REPO_URL='http://code.google.com/p/git-repo/'
e)设置repo权限:
$ sudo chmod a+x ~/bin/repo
f)使用repo下载CM源代码,时间比较漫长:
$ repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
$ repo sync -j8
4、电脑USB数据线链接N1手机:
$ sudo adb kill-server
$ sudo adb devices
这时应该能看到设备列表,如果命令找不到,安装Android SDK,不多说了!
5、开始编译源代码:
a) 读取手机配置文件,根据自己的机型找到相应的目录:
$ cd ~/cyanogenmod/device/htc/passion
$ ./extract-files.sh
b)执行vendor下的get-rommanager文件:
$ cd ~/cyanogenmod/vendor/cyanogen
$ ./get-rommanager
c)执行vendor下的extract-google-files 文件:
$ ./extract-google-files
d) 拷贝一个文件,注意名字要一致:
$ cp ~/cyanogenmod/vendor/cyanogen/products/cyanogen_passion.mk ~/cyanogenmod/buildspec.mk
e) 在cyanogenmod根目录下执行脚本,配置一下变量:
$ cd ~/cyanogenmod/
$ . build/envsetup.sh
f) Lunch一下,选择你要编译的版本,根据自己的机器进行选择:
$ lunch cyanogen_passion-eng
如果不知到参数是什么可以使用 $ lunch,这样会出现选项,选择你要编译的选项
g) 开始编译,漫长的等待:
$ make -j4 CYANOGEN_WITH_GOOGLE=true otapackage
当编译结束会在~/cyanogenmod/out/target/product/passion/目录下得到很多文件,其中boot.img system.img userdata.img是我们安装需要的镜像文件,可以打包成zip文件进行安装参考步骤h),也可以使用下边方式进行测试,关机,长按手机电源键+轨迹球,进入了FASTBOOT界面,使用下边命令更新手机系统:
$sudo fastboot flash boot boot.img
$sudo fastboot flash system system.img
$sudo fastboot flash userdata userdata.img
$sudo fastboot reboot
h) 打包签名:
$ ./vendor/cyanogen/tools/squisher
将在~/cyanogenmod/out/target/product/passion/生成update-cm-7.1.0-N1-KANG-signed.zip
文件,可以参考小米N1 MIUI zip包刷机教程,方法相同,下边是教程地址:
http://www.miui.com/a-19.html
参考文章:
http://www.iteye.com/topic/1113040
http://hi.baidu.com/lizhengjun2010/blog/item/0b84aa406f2d579eb2b7dcf7.html
http://www.cnrgb.com/compile-cyanogenmod-for-hero-gsm-android-from-source-code