用途:面向 LineageOS 自定义 ROM 开发,从同步源码到编译、定制设备树与向 Gerrit 贡献代码。
主要能力:初始化并同步仓库(repo init/sync)、编译可刷写 ZIP、构建内核或系统镜像、通过 repopick 从 Gerrit 拣选修改、维护设备树与提取厂商 blob、处理常见编译问题。
必要用法:初始化时执行 mkdir ~/lineage && cd ~/lineage,安装 repo 后执行 repo init -u https://github.com/LineageOS/android.git -b lineage-21.0 --git-lfs;同步用 repo sync -c -j$(nproc) --force-sync --no-tags --no-clone-bundle。编译时先 source build/envsetup.sh,再 breakfast <device>,或直接 brunch <device>;也可用 mka bacon、mka bootimage、mka systemimage。拣选修改用 repopick <change>,提取 blob 运行 ./extract-files.sh。提交代码需配置 Gerrit 用户名并推送至 refs/for/<branch>。
适用场景:为具体设备构建非官方 ROM、调试编译与 SELinux 问题、整理设备树依赖、向 LineageOS 评审提交补丁。
限制:资料未提供支持的设备清单、源码许可、构建环境硬性要求及具体版本兼容范围。厂商 blob 等专有文件需自行合法获取,缺失事实暂未提供。