编译 Lineage OS 17.1 教程及遇到的一些坑

准备工作

  • 一台电脑(编译速度取决于配置)
  • Ubuntu 系统(其他的也可,但不保证出现问题)
  • 200G以上的硬盘空间
  • 你机型的vendor,device,kernel
    (若LineageOS官网没有你的机型,或者没有开发者维护你机型的vendor,device和kenerl,将无法编译)

第一步 - 下载源码

我所下载的的LineageOS源代码用的是北京外国语大学的镜像(为何不用几乎相同的清华源,详见注意事项3),你可以直接参考官方的教程

注意事项:

1.Tuna提供的教程针对的是老版cm-14.1,若编译Lineage OS 17.1,你需要在初始化仓库这一步将后面的cm-14.1改为lineage-17.1。

2.在教程要求修改manifest.xml时,你可能会打开到一个错误的文件(不含教程所需要修改的内容)。
在本人编译Lineage OS 17.1时,应该按照教程步骤修改.repo/manifests/default.xml文件,而不是教程所说的.repo/manifest.xml
若你在按照Tuna教程操作时发现教程中提及的文件没有问题(即包含所需要修改的文字),可忽略此步骤。

3.报错:
当出现

error: RPC 失败。curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: 远端意外挂断了
fatal: 过早的文件结束符(EOF)
fatal: index-pack 失败
error: RPC 失败。curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.
fatal: 远端意外挂断了
fatal: 过早的文件结束符(EOF)
fatal: index-pack 失败

这类报错时,可不作理会,待同步代码完成后继续使用repo sync,直到不再报错。
这可能是由于网络环境不好导致的,一般是由于清华大学镜像站负载较高,不太稳定,除了更换镜像源(如BFSU等)我暂时没有很好的解决办法
*不同的系统可能显示的文字不一样,我的系统安装的中文语言包显示中文,其他系统可能会显示英文,不过内容意思一致。

第二步 - 下载机型kernel等文件

To Be Continued(预计2020.10.31完成文章)

发表评论