第十七期 CyanogenMod 编译小米3W《手机就是开发板》

上一期我们使用直接下载的第三方固件在手机上刷机通过,相对于源码级别的改装还只是皮毛,这一期我们来实践下载并编译CyanogenMod源码,编译出固件并刷机试验。
这里假设您已经搭建了AOSP的源码编译环境,如果没有请转到第二期。
1.下载和编译前安装下面这些软件:
sudo apt-get install bc bison build-essential curl flex git gnupg gperf libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop maven openjdk-7-jdk pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev
如果有安装错误,请执行 sudo apt-get install update 然后执行 sudo apt-get install upgrade
2.下载CM源码的方法和AOSP大体相同,建议一个存放将要下载的源码的目录,然后在目录下执行:
repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0
当repo仓库建立完成后先别急着同步,作为大中华区用户,您还得改点东西,把指向googlesource的下载地址修改成国内的镜像,将 .repo/manifest.xml 把其中的 aosp 这个 remote 的 fetch 从 https://android.googlesource.com 改为 https://aosp.tuna.tsinghua.edu.cn/

3.使用 repo sync 命令开始下载源码 一共 528个 projects ,大约有 13GB 大小。
4.下载完成后 执行 source build/envsetup.sh 命令 加载编译所需的环境变量;
5.执行 breakfast cancro ,创建 LocalManifest 配置文件,这一步可能会报错,但只要devices/xiaomi/cancro/目录存在,就可以继续下一步;
6.提取设备专有文件(Extract Propertietary Blobs),这一步是比较关键的,因为版权问题,一些非开源的程序不会出现在CM的源码当中,所以必须从你现有的手机中提取,我们刚才刷好的手机这回必须要用上了。将手机通过USB连接到PC,先执行adb root , 如果成功后,进入到cancro目录:
cd ~/android/system/device/xiaomi/cancro
然后运行提取专有文件的命令 ./extract-files.sh
如果按照下载的原始文件去执行提取命令是100%会出错的,因为有些文件无论是在MIUI还是在CM中都是找不到的,经过我的摸索,去掉了一些文件的提取,修改了proprietary-files.txt文件,下面是这个文件的链接,下载后替换一下再提取文件就不会出错了。
7. 执行croot 命令, 回到CM源码的根目录,然后执行 brunch cancro 开始编译,编译的过程不会一帆风顺,需要点耐心。

参考文章:



  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值