下载cm10.1源码编译
开发环境
http://dengzhangtao.iteye.com/blog/1636477
1.准备编译环境(ubuntu系统)
32位和64位系统需要安装的工具:
(编译cm10,用64位)
命令:
apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl
libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool
64位系统安装这些:
命令:
apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-4.7-multilib g++-4.5-multilib
新建目录
命令:
mkdir -p ~/bin
安装repo 命令
用下面的命令下载“repo”二进制文件并修改权限为可执行:
命令:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
将 ~/bin 目录导出到PATH变量
确保 ~/bin 目录 在PATH变量中,那样方便使用repo命令,否则就要像下面那样每次导出到PATH变量:
命令:
export PATH=${PATH}:~/bin
2.初始化源代码仓库
新建目录用于下载源代码,并切换到此目录:
命令:
mkdir -p ~/Source
命令:
cd Source
进入目录用下面的命令初始化仓库:
CM 10.1 :
命令:
repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1
下载源代码
命令:
repo sync
这就是同步源代码,时间很长,下载大概8G大小。记住这个命令,经常会使用到,用于更新CyanogenMod 最新的源代码
获取预编译应用
命令:
cd ~/Source/vendor/cm
命令:
./get-prebuilts
准备指定设备的代码
当源代码下载完成后,输入:
命令(.后面是有个空格的):
. build/envsetup.sh
然后输入
命令:
breakfast ******
*****就是手机的代码名称,如p970,就是breakfast p970,一定要确保你的手机在CyanogenMod 官方是有rom发布过的。
提取手机中编译所需文件
确保你的手机连接上电脑,打开了usb调试模式。
在目录~/Source/device/***/***** 运行这个脚本proprietary-files.sh:
命令:
./extract-files.sh
***是手机的厂商如Samsung HTC lge,*****是手机代码名称如p970;
所以lg p970是目录:~/Source/device/lge/p970
打开提取文件快速编译
命令:
export USE_CCACHE=1
开始编译
命令:
cd ~/Source
brunch *****
***** 是手机代码名称,如p970
等编译完成,会提示生成了刷机包:cm-10.1-时间-UNOFFICIAL-***.zip
编译过程中可能出错:
如找不到内核(kernel)代码,则需要使用命令:repo sync 同步内核代码;