1、在正式编译系统前,我们还需要几份代码才能编译出可以刷入我们实体机的ROM,分别是设备的device、kernel和vendor,其中device和kernel是必要的,vendor如果有的话最好,没有的话可以从手机中提取,当然,提取的文件需要依靠device,这些文件可以在github网站中搜索得到,各位可能还需要学习一下有关github的使用,还有,各位需要知道自己机型对应的设备代号,例如Xperia U的代号是kumquat
2、如果你有获取了以上完整的三份代码,那么我们就可以开始编译了,device的位置一般放在 源码文件夹/device/设备制造厂商/设备代号,同理kernel和vendor也是一样
3、进入device,如果存在cm.dependencies,那么里面代码则是保证编译完成需要的额外代码仓库,里面标识了需要的代码仓库和对应的路径
4、进入你下载源码的文件夹,然后输入一下命令
. build/envsetup.sh
brunch 机型代号 例如brunch kumquat
5、编译过程中如果出现什么问题,可以google
编译时间需要根据电脑性能决定,我的个人电脑需要12个小时才能编译完一次
6、开启ccache,在第二次及以后加速编译
在存放源码的目录下,终端输入命令prebuilt/linux-x86/ccache/ccache -M 50G,其中,50G代表缓存的大小,可以自行更改大小,建议不小于20G
打开环境配置文件gedit ~/.bashrc
在最后边加入export USE_CCACHE=1
表示开启ccache,在第一次编译后保存编译的头文件,默认保存文件在~/.ccache里面,路径可以更改,同样在上面的配置文件最后加入
export CCACHE_DIR=<path-to-your-cache-directory>
在终端下,命令 ccache -s 可以查看ccache文件夹的使用情况,如果想完全清楚ccache,使用命令 ccache -C