LineageOS 14.1(CM14.1)的快速下载与编译

    xiaoxiao2021-03-25  151

    代码的快速下载

    Cyanogenmod OS或者说后来的Lineage OS的代码都是分为两个部分:

    cm团队自己或者社区开发的代码: 主要是适配设备, 例如vendor相关,放在github上面aosp代码: google的AOSP代码, 作为base

    因为本地有一份AOSP的Mirror,所以这部分AOSP代码就不需要再从google去下载了, 直接从本地获取即可. 

    local mirror的建立可以参考AOSP的repo 与get source相关文档.

    关于repo与如何快速使用本地代码可以参考前面的博客:

    使用本地AOSP镜像快速获取Android代码

    repo详解与如何更改manifest快速获取和复用AOSP代码

    修改步骤

    1. repo init

    根据LineageOS的的使用方法直接init:

    repo init -u git://github.com/lineageos/android.git -b cm-14.1 这样就获取了.repo目录中的manifest仓库.

    2. 修改manifest.git来源的url

    因为前面的repo文章说明的是一个remote的使用, 而这里说明一下多个remote情况下的使用.

    因为在manifest.xml中, 所有的name都是都没有自带.git, 所以无法直接修改remote中的fetch来完成:

    注意高亮Line的的name结尾没有.git, 而我们的local mirror中参考却是有的:

    $ realpath /ExtDisk/android/aosp_mirror/platform/developers/build.git/ /ExtDisk/android/aosp_mirror/platform/developers/build.git

    因此我们还是直接修改config文件, 避免去全局修改manifest文件.

    下面是修改后的url地址:

    同时将LineageOS的remote fetch与aosp的fetch更改一下:

    提取proprietary files

    这个提取的流程在以前的博客中有说明:

    为小米4与小米3 Mi3 Mi4编译Cyanogenmod 12.1与13.0 (CM12与CM13) 的步骤以及错误解决

    但是到了CM14.1, 和前面又有一些不一样, 因此再次说明一下.

    提取的流程

    脚本根据下面这个文件:

    device/asus/flo/proprietary-blobs.txt

    知道需要提取的文件

    然后使用adb从实机提取, 或者从extract ROM中提取.

    从Extract ROM中提取

    步骤还是和以前一样, 使用sdat2img获取ext4格式的image:

    $ sdat2img.py system.transfer.list system.new.dat system.img 然后需要mount到一个新创建的system目录.例如:

    mkdir ../system sudo mount system.img ../system realpath .. /ExtDisk/android/Nexus7/lineage-14.1-20170307-nightly-flo-signed 然后就可以运行提取脚本了:

    cd $ANDROID/device/asus/flo/ ./extract-files /ExtDisk/android/Nexus7/lineage-14.1-20170307-nightly-flo-signed 注意第二行里面的$1参数为system目录的路径, 而不是mount的路径, 这个因为在脚本中会自动添加system:

    同时我们在后面加入echo可以知道从哪个位置提取出来的. 提取完成后, 脚本还会自动创建makefile/*.mk用来完成拷贝功能.

    编译

    直接使用下面命令即可完成编译, 这个过程和以前的CM还是一样的. . build/envsetup.sh breakfast flo brunch flo

    参考

    https://forum.xda-developers.com/moto-g-2014/general/guide-build-lineageos-titan-ubuntu-t3537396
    转载请注明原文地址: https://ju.6miu.com/read-18567.html

    最新回复(0)