编译CM10 for W22PRO的相关过程记录

先说一下git的操作好了,这个git其实我也是今年刚开始用,之前都是用svn的(subversion其实也不太会……说来这些版本控制工具我都记不住指令啊……)。

因为蓝魔W22PRO用的是Amlogic MX(meson6)方案,而Christiantroy已经专心耕耘艾诺精灵2很久了,他在github上的很多项目,只要有jellybean-aml分支的基本就是需要fetch拿来用的。不过有一点问题的就是,最近这位大哥在搞CM10.1去了,repo都没有更新上游(CyanogenMod)的改动,所以其它的部分如果用CyanogenMod的上游代码就会造成一些问题。还好有强大的git帮我们合并这些更改。

首先进入一些需要为Amlogic修改的目录(因为我已经做了这项工作了,减轻了各位的压力,大家直接fetch我的那些github项目就好了),git checkout jellybean-aml 确保在jellybean-aml这个分支里面,然后git remote -v看一下有没有上游CyanogenMod的repo,没有的话得先git remote add NAME git://XXXXXX 添加一个NAME远程仓库(这些全部大写的字母都是可以自行变动的),然后git fetch NAME把源码下载到本地,只需简单的一个git pull NAME jellybean就能把NAME仓库的jellybean分支合并到当前分支(jellybean-aml)了!如果有冲突的话会提示的,一般不会有冲突会自动merge并做一个ref节点,如果你没有自己开项目就这样好了。如果有的话(比如我),就需要git push MINE提交这次变动到自己的远程仓库(MINE)。再说一下啦,我已经做过这项工作了,短期内大家直接取我的项目源码就可以了。

上面讲了那么多git的废话……下面讲一下编译。

如果你还没有W22PRO的源码,请上我的非官方项目clone下来到合适的位置(如果你这不知道就不要看这篇文章了,谢谢……)

cd /PATH_TO_CM/
 . build/envsetup.sh
 lunch
 make -j4

老掉牙的几个步骤……lunch菜单选择cm_w22pro-userdebug那个就好了(输入数字回车),make -j4表示用四个线程并行编译。

在我的笔电上每次从头完整的编译要2~3个小时。我的硬件配置?AMD 四核 2.0GHz,4G RAM(显然有点小,为了避免内存消耗完毕而出错终止,强烈建议创建一个swap分区或者swap文件,大小至少1G,建议4G以上)。

还没有开始编译的记住了,放CM/Android源代码的那个分区建议40G以上,而且必须是EXT2/3/4或者BtrFS、XFS之类的Linux分区!