【保姆级教程】小米6X编译LineageOS 20.0完整指南(Android 13)
【保姆级教程】小米6X编译LineageOS 20.0完整指南(Android 13)
- LineageOS 20.0 编译教程 - Xiaomi 6X (wayne)
- 项目简介
- 设备信息
- 快速开始
- 编译环境要求
- 硬件要求
- 软件依赖
- 详细编译步骤
- 1. 安装平台工具
- 2. 安装构建依赖
- Ubuntu 22.04 / 24.04 (推荐)
- Ubuntu 23.10 (Mantic) 或更新版本
- 3. 创建目录
- 4. 安装 Repo 命令
- 5. 配置 Git
- 6. 启用 ccache 加速构建
- 7. 初始化 LineageOS 源码仓库
- 8. 配置设备清单
- 9. 下载源代码
- 10. 准备构建环境
- 11. 准备设备特定代码
- 12. 提取专有 Blobs
- 13. 开始构建
- 问题 1: 网络同步失败
- 问题 2: 本地检出失败 - 未跟踪文件冲突
- 问题 3: Hooks 链接错误
- 问题 4: Git 锁文件冲突
- 问题 5: Vendor 文件缺失
- 问题 6: 使用 -j1 --fail-fast 定位问题
- 8. 构建系统
- 常见问题与解决方案
- Q1: repo sync 总是失败怎么办?
- Q2: 构建时 ccache 报错 "Not a directory"
- Q3: breakfast 报错找不到设备
- Q4: 构建失败,缺少某个模块
- Q5: 内存不足导致构建失败
- Q6: 如何清理构建输出重新构建?
- 刷入系统
- 准备工作
- 刷入步骤
- 刷入后的设置
- 项目文件说明
- 目录结构
- 辅助脚本说明
- run.sh - 主运行脚本
- fix\_repo.sh - 修复特定仓库
- fix\_all\_repos.sh - 批量扫描修复
- 快速参考命令
- 免责声明
- 参考资料
- 更新日志
LineageOS 20.0 编译教程 - Xiaomi 6X (wayne)
仓库:https://gitee.com/joker888/lineageos-wayne-build
项目简介
这是为小米 6X (代号:wayne) 设备构建 LineageOS 20.0 (基于 Android 13) 的完整教程。LineageOS 是一个基于 Android 开源项目的自由、开源操作系统,为各种设备提供长期支持和安全更新。
本教程记录了实际编译过程中遇到的所有问题及其解决方案,确保您能够顺利完成编译。
设备信息
| 属性 | 值 |
|---|---|
| 设备名称 | Xiaomi 6X |
| 代号 | wayne |
| 处理器 | Qualcomm Snapdragon 660 (SDM660) |
| 内存 | 4GB/6GB |
| 存储 | 64GB/128GB |
| 屏幕 | 5.99英寸 1080x2160 |
| 相机 | 后置双摄 12MP+20MP,前置 20MP |
| LineageOS 版本 | 20.0 (Android 13) |
快速开始
# 克隆仓库gitclone https://github.com/joker888/lineageos-wayne-build.gitcdlineageos-wayne-build# 安装 repo(首次运行时 run.sh 也会自动下载)curlhttps://storage.googleapis.com/git-repo-downloads/repo>./bin/repochmoda+x ./bin/repo# 一键编译(同步源码 + 构建)./bin/run.sh编译环境要求
硬件要求
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | Ubuntu 20.04 LTS | Ubuntu 22.04 LTS 或 Deepin |
| 内存 | 16GB RAM | 32GB RAM 或更多 |
| 存储 | 200GB 可用空间 | 300GB+ SSD |
| CPU | 4核心 | 8核心或更多 |
软件依赖
- Java: OpenJDK 11 (Android 13 需要)
- Python: Python 3.6+
- Git: 2.x 版本
- Make: 4.0+
- 其他工具: flex, bison, gcc, g++, curl, zip, unzip 等
详细编译步骤
1. 安装平台工具
如果尚未安装adb和fastboot,可以从 Google 下载:
# 下载 platform-toolswgethttps://dl.google.com/android/repository/platform-tools-latest-linux.zip# 解压到主目录unzipplatform-tools-latest-linux.zip-d~# 添加到 PATH(编辑 ~/.profile 添加以下内容)# add Android SDK platform tools to pathif[-d"$HOME/platform-tools"];thenPATH="$HOME/platform-tools:$PATH"fi# 使配置生效source~/.profile2. 安装构建依赖
根据您的 Ubuntu 版本,安装相应的依赖包:
Ubuntu 22.04 / 24.04 (推荐)
# 更新软件源sudoapt-getupdate# 安装所有必需的构建工具sudoapt-getinstall-ybcbison build-essential ccachecurlflex\g++-multilib gcc-multilibgitgit-lfs gnupg gperf\imagemagick protobuf-compiler python3-protobuf\lib32readline-dev lib32z1-dev libdw-dev libelf-dev\libgnutls28-dev lz4 libsdl1.2-dev libssl-dev\libxml2 libxml2-utils lzop pngcrushrsyncschedtool\squashfs-tools xsltproc xxdzipzlib1g-dev\libncurses5 libncurses5-dev lib32ncurses5-dev# 安装 Python(LineageOS 20 需要 Python 3)sudoapt-getinstall-ypython-is-python3# 安装 OpenJDK 11(LineageOS 18.1+ 需要)sudoapt-getinstall-yopenjdk-11-jdk# 安装 ccachesudoapt-getinstall-yccache# 验证安装java-versionpython3--versionccache--versionUbuntu 23.10 (Mantic) 或更新版本
由于 Ubuntu 23.10 移除了libncurses5,需要额外安装:
# 下载并安装 libncurses5wgethttps://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2_amd64.debsudodpkg-ilibtinfo5_6.3-2_amd64.debrm-flibtinfo5_6.3-2_amd64.debwgethttps://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libncurses5_6.3-2_amd64.debsudodpkg-ilibncurses5_6.3-2_amd64.debrm-flibncurses5_6.3-2_amd64.deb# 然后执行上面的完整依赖安装命令3. 创建目录
设置构建环境所需的目录:
mkdir-p~/binmkdir-p~/android/lineage# ~/bin 将包含 repo 工具# ~/android/lineage 将包含 LineageOS 源代码4. 安装 Repo 命令
下载并安装 Repo 工具:
# 下载 repocurlhttps://storage.googleapis.com/git-repo-downloads/repo>~/bin/repo# 设置执行权限chmoda+x ~/bin/repo5. 配置 Git
# 配置 Git LFS(大文件存储)gitlfsinstall# 避免重复的 Change-Id(提交时避免冲突)gitconfig--globaltrailer.changeid.key"Change-Id"6. 启用 ccache 加速构建
使用 ccache 可以显著加快后续构建速度:
# 启用 ccacheexportUSE_CCACHE=1exportCCACHE_EXEC=/usr/bin/ccache# 将上述配置添加到 ~/.bashrc(永久生效)echo'export USE_CCACHE=1'>>~/.bashrcecho'export CCACHE_EXEC=/usr/bin/ccache'>>~/.bashrc# 设置缓存大小(推荐 50GB-100GB)# 典型构建时间可以从 1 小时减少到 20 分钟ccache-M50G# 启用压缩(节省空间,缓存空间可减少到约 20GB)ccache-ocompression=true# 查看缓存状态ccache-s7. 初始化 LineageOS 源码仓库
# 进入源码目录cd~/android/lineage# 初始化仓库(选择您要构建的版本分支)# LineageOS 20.0 (基于 Android 13)repo init-uhttps://github.com/LineageOS/android.git-blineage-20.0 --git-lfs --no-clone-bundle# LineageOS 18.1 (基于 Android 11)# repo init -u https://github.com/LineageOS/android.git -b lineage-18.1 --git-lfs --no-clone-bundle# 国内用户:修改为清华镜像(加速 AOSP 代码下载)sed-i's#https://android.googlesource.com#https://mirrors.tuna.tsinghua.edu.cn/git/AOSP#g'.repo/manifests/default.xml版本要求说明:
| LineageOS 版本 | Android 版本 | 需要 JDK | 需要 Python |
|---|---|---|---|
| lineage-21+ | Android 14+ | OpenJDK 17 | Python 3 |
| lineage-20.0 | Android 13 | OpenJDK 11 | Python 3 |
| lineage-18.1 | Android 11 | OpenJDK 11 | Python 3 |
| lineage-17.1 | Android 10 | OpenJDK 1.9 | Python 3 |
8. 配置设备清单
创建本地清单文件,添加设备特定的仓库:
# 创建 local_manifests 目录mkdir-p.repo/local_manifests# 创建 roomservice.xml 文件cat>.repo/local_manifests/roomservice.xml<<'EOF' <?xml version="1.0" encoding="UTF-8"?> <manifest> <!-- 设备树 --> <project name="LineageOS/android_device_xiaomi_wayne" path="device/xiaomi/wayne" remote="github" revision="lineage-20" /> <project name="LineageOS/android_device_xiaomi_wayne-common" path="device/xiaomi/wayne-common" remote="github" revision="lineage-20" /> <project name="LineageOS/android_device_xiaomi_sdm660-common" path="device/xiaomi/sdm660-common" remote="github" revision="lineage-20" /> <!-- 内核源码 --> <project name="LineageOS/android_kernel_xiaomi_sdm660" path="kernel/xiaomi/sdm660" remote="github" revision="lineage-20" /> <!-- 硬件配置 --> <project path="hardware/xiaomi" remote="github" name="LineageOS/android_hardware_xiaomi" revision="lineage-20" /> <!-- Vendor Blobs (专有文件) - 来自 TheMuppets --> <project name="TheMuppets/proprietary_vendor_xiaomi_wayne" path="vendor/xiaomi/wayne" remote="github" revision="lineage-20" /> <project name="TheMuppets/proprietary_vendor_xiaomi_wayne-common" path="vendor/xiaomi/wayne-common" remote="github" revision="lineage-20" /> <project name="TheMuppets/proprietary_vendor_xiaomi_sdm660-common" path="vendor/xiaomi/sdm660-common" remote="github" revision="lineage-20" /> </manifest> EOF9. 下载源代码
同步所有仓库(这可能需要较长时间,取决于网络速度):
# 进入源码目录cd~/android/lineage# 开始同步(使用所有 CPU 核心)reposync-c-j$(nproc--all)# 如果遇到问题,可以使用以下参数:# -c: 只同步当前分支(推荐)# -j: 并行任务数# --force-sync: 强制同步# --no-clone-bundle: 不使用 clone bundle# --no-tags: 不同步标签# --fail-fast: 遇到第一个错误即停止,适合排查问题# 推荐的完整同步命令(适合稳定网络)reposync-c--force-sync --no-clone-bundle --no-tags -j$(nproc--all)# 如果网络不稳定,使用较少并行数reposync-c-j4# 如果同步失败,使用 --fail-fast 排查问题(单线程模式)reposync-c-j1--fail-fast提示:
- 首次同步可能需要数小时甚至更长时间
- 建议在网络稳定时进行
- LineageOS 默认配置是
-j4和-c,如果不是最新版本可能会更慢 - 如果同步中断,可以随时重新运行
repo sync
10. 准备构建环境
进入源码根目录并设置构建环境:
# 进入源码目录cd~/android/lineage# 加载构建环境sourcebuild/envsetup.sh# 验证环境设置是否成功croot# 命令应该切换到 ~/android/lineage 目录11. 准备设备特定代码
# 下载设备特定的配置和内核源码breakfast wayne这个命令会自动下载:
- 设备树配置:
device/xiaomi/wayne - 通用设备配置:
device/xiaomi/wayne-common、device/xiaomi/sdm660-common - 内核源码:
kernel/xiaomi/sdm660
重要:如果遇到 vendor 目录相关的错误,请跳到下一步"提取专有 blobs"。
12. 提取专有 Blobs
注意:此步骤需要在已运行最新 LineageOS 的设备上进行。
# 确保设备已连接并启用 ADB 和 root 权限adb devices# 应该显示设备序列号# 进入设备目录cd~/android/lineage/device/xiaomi/wayne# 提取 blobs(根据设备目录内容选择脚本)# 如果有 extract-files.py./extract-files.py# 或者使用 extract-files.sh./extract-files.sh提取的 blobs 会保存到~/android/lineage/vendor/xiaomi目录。
如果没有可用的设备:可以从已安装的 LineageOS zip 包中提取 blobs,参考官方指南:从 zip 包提取 blobs
13. 开始构建
# 确保在源码根目录cd~/android/lineage# 设置构建环境sourcebuild/envsetup.sh# 选择设备目标breakfast wayne# 开始构建brunch wayne或者分步执行:
cd~/android/lineagesourcebuild/envsetup.sh croot lunch lineage_wayne-userdebug mka bacon构建选项说明:
| 命令 | 说明 |
|---|---|
breakfast wayne | 自动下载设备依赖并设置构建目标 |
lunch | 手动选择构建目标和变体 |
brunch wayne | 完整构建流程(推荐) |
mka bacon | 构建 OTA 安装包 |
mka | Make 的替代,支持并行构建 |
构建变体:
| 变体 | 说明 |
|---|---|
user | 生产版本,无 root,调试受限 |
userdebug | 开发版本,有 root,完整调试(推荐测试) |
eng | 工程版本,完整开发工具 |
构建时间:
- 首次构建:约 4-8 小时(取决于硬件)
- 后续构建:约 30-60 分钟(使用 ccache)
构建产物位置:
~/android/lineage/out/target/product/wayne/ ├── lineage-20.0-YYYYMMDD-UNOFFICIAL-wayne.zip # OTA 安装包 ├── recovery.img # Recovery 映像 ├── boot.img # Boot 映像 ├── system.img # System 映像 ├── vendor.img # Vendor 映像 └── ... # 其他文件同步过程中可能遇到的问题及解决方案:
问题 1: 网络同步失败
error: Downloading network changes failed. Failing repos (network): external/gptfdisk frameworks/base ...解决方案:
# 检查网络连接pinggithub.com# 如果是国内网络问题,确保使用了清华镜像# 检查 default.xml 配置cat.repo/manifests/default.xml|grepfetch# 重新尝试同步reposync-c-j$(nproc--all)问题 2: 本地检出失败 - 未跟踪文件冲突
错误:工作区中下列未跟踪的文件将会因为检出操作而被覆盖: .clang-format .gitignore ...解决方案:
# 方法 1: 手动清理单个仓库cdproblematic_repo_pathgitclean-fdgitreset--hardcd/path/to/lineageos/android/lineage# 方法 2: 批量清理所有问题仓库# 创建修复脚本cat>/path/to/lineageos/bin/fix_all_repos.sh<<'EOF' #!/bin/bash LINEAGE_ROOT=/path/to/lineageos cd $LINEAGE_ROOT/android/lineage echo "开始扫描并修复所有有问题的仓库..." # 收集所有项目路径 projects=() while IFS= read -d $'\0' project; do if [ -d "$project" ] && [ -d "$project/.git" ]; then projects+=("$project") fi done < <(find . -maxdepth 4 -name ".git" -type d | sed 's|/\.git$||' | sort | grep -v "^./\.repo" | tr '\n' '\0') echo "找到 ${#projects[@]} 个项目" count=0 fixed=0 for project in "${projects[@]}"; do count=$((count + 1)) rel_path="${project:2}" echo -ne "检查 $rel_path ($count/${#projects[@]})\033[0K\r" cd "$project" # 检查是否有未跟踪的文件或修改 status_output=$(git status --porcelain) if [ -n "$status_output" ]; then echo -e "\n修复: $rel_path" echo "$status_output" git clean -fd git reset --hard fixed=$((fixed + 1)) fi cd $LINEAGE_ROOT/android/lineage done echo -e "\n\n修复了 $fixed 个仓库" echo "现在重新同步..." .repo/repo/repo sync -c -j$(nproc --all) EOFchmod+x /path/to/lineageos/bin/fix_all_repos.sh /path/to/lineageos/bin/fix_all_repos.sh问题 3: Hooks 链接错误
从旧版本切换到新版本时,可能遇到 hooks 链接错误:
error: hooks is different in .repo/projects/art.git vs .repo/project-objects/platform/art.git解决方案:
# 删除损坏的 hooks 链接cd/path/to/lineageos/android/lineagefind.repo/projects-name"hooks"-typel-delete# 重新同步reposync-c-j$(nproc--all)问题 4: Git 锁文件冲突
致命错误:无法创建 '/path/to/repo/.git/index.lock':文件已存在。解决方案:
# 清理所有 Git 锁文件cd/path/to/lineageos/android/lineagefind.-name"index.lock"-typef-delete# 重新同步reposync-c-j$(nproc--all)问题 5: Vendor 文件缺失
error: vendor/xiaomi/wayne/wayne-vendor.mk does not exist.解决方案:
确保.repo/local_manifests/roomservice.xml包含正确的 vendor 项目配置(见步骤 6),然后:
# 同步 vendor 仓库reposync-cvendor/xiaomi# 或者完整同步reposync-c-j$(nproc--all)问题 6: 使用 -j1 --fail-fast 定位问题
当同步失败时,可以使用单线程模式定位具体问题:
reposync-j1--fail-fast这会在遇到第一个错误时停止,便于定位问题仓库。
8. 构建系统
同步完成后,开始构建 LineageOS。
# 进入源代码目录cd/path/to/lineageos/android/lineage# 设置构建环境sourcebuild/envsetup.sh# 选择设备目标# 方式 1: breakfast (自动处理依赖)breakfast wayne# 方式 2: lunch (手动选择)lunch lineage_wayne-userdebug# 开始构建# 方式 1: brunch (推荐,包含所有步骤)brunch wayne# 方式 2: mka (手动构建)mka bacon -j$(nproc--all)构建选项说明:
| 命令 | 说明 |
|---|---|
breakfast | 自动下载设备依赖并设置构建目标 |
lunch | 选择构建目标和变体 |
brunch | 完整构建流程(包含 bacon) |
mka bacon | 构建 OTA 包 |
mka | Make 的替代,支持并行构建 |
构建变体:
| 变体 | 说明 |
|---|---|
user | 生产版本,无 root,有限调试 |
userdebug | 开发版本,有 root,完整调试 |
eng | 工程版本,完整开发工具 |
构建时间:
- 首次构建:约 4-8 小时(取决于硬件)
- 后续构建:约 30-60 分钟(使用 ccache)
构建产物位置:
out/target/product/wayne/ ├── lineage-20.0-YYYYMMDD-UNOFFICIAL-wayne.zip # OTA 安装包 ├── recovery.img # Recovery 映像 ├── boot.img # Boot 映像 ├── system.img # System 映像 ├── vendor.img # Vendor 映像 └── ... # 其他文件常见问题与解决方案
Q1: repo sync 总是失败怎么办?
解决方案:
- 确保网络稳定,使用镜像源(清华镜像)
- 使用
--force-sync参数强制同步 - 清理问题仓库后重新同步
- 使用
-j1 --fail-fast定位具体问题
Q2: 构建时 ccache 报错 “Not a directory”
ccache: error: Not a directory解决方案:
# 创建 ccache 目录mkdir-p~/.ccache# 配置 ccacheccache-M50G ccache-ocompression=true# 确保环境变量设置正确exportUSE_CCACHE=1exportCCACHE_EXEC=/usr/bin/ccacheQ3: breakfast 报错找不到设备
Device wayne not found.解决方案:
- 确保
.repo/local_manifests/roomservice.xml配置正确 - 确保设备树仓库已同步:
repo sync device/xiaomi/wayne - 重新执行
source build/envsetup.sh
Q4: 构建失败,缺少某个模块
解决方案:
- 检查错误信息,确定缺失的模块
- 搜索相关仓库:
grep -r "module_name" .repo/manifests/ - 添加到
roomservice.xml并重新同步
Q5: 内存不足导致构建失败
解决方案:
# 减少并行任务数mka bacon-j4# 限制为 4 个任务# 或者使用更保守的设置mka bacon-j2Q6: 如何清理构建输出重新构建?
# 清理所有构建输出makeclean# 或者完全清理(包括 ccache)makeclobber# 只清理特定模块makeclean-module_name刷入系统
准备工作
- 确保设备已解锁 Bootloader
- 安装最新版 TWRP Recovery
- 备份重要数据
刷入步骤
# 1. 将设备连接到电脑adb devices# 2. 进入 fastboot 模式adbrebootbootloader# 3. 刷入 Recovery(如果需要更新)fastboot flash recovery out/target/product/wayne/recovery.img# 4. 进入 Recovery 模式fastbootrebootrecovery# 5. 在 Recovery 中执行以下操作:# - Wipe -> Advanced Wipe -> 选择 Dalvik/ART Cache, System, Data, Cache# - Swipe to Wipe# - 返回主菜单# 6. 刷入 LineageOSadb sideload out/target/product/wayne/lineage-*.zip# 7. 可选:刷入 GAppsadb sideload MindTheGapps-*.zip# 8. 可选:刷入 Magisk (Root)adb sideload Magisk-*.zip# 9. 重启系统adbreboot刷入后的设置
- 首次启动可能需要较长时间(约 5-10 分钟)
- 设置基本配置(语言、网络等)
- 检查系统功能是否正常
- 更新系统设置(开发者选项等)
项目文件说明
目录结构
/path/to/lineageos/ ├── android/ │ └── lineage/ # LineageOS 源代码 │ ├── .repo/ # Repo 配置目录 │ │ ├── manifests/ # 主清单 │ │ │ └── default.xml # 默认清单(可修改为镜像) │ │ └── local_manifests/ # 本地清单 │ │ └── roomservice.xml # 设备特定清单 │ ├── device/ # 设备树 │ │ └── xiaomi/ │ │ ├── wayne/ # 设备配置 │ │ ├── wayne-common/ # 设备通用配置 │ │ └── sdm660-common/ # 平台通用配置 │ ├── kernel/ # 内核源码 │ │ └── xiaomi/sdm660/ │ ├── hardware/ # 硬件抽象层 │ │ └── xiaomi/ │ ├── vendor/ # 专有文件 │ │ └── xiaomi/ │ │ ├── wayne/ │ │ ├── wayne-common/ │ │ └── sdm660-common/ │ ├── out/ # 构建输出(构建后生成) │ │ └── target/product/wayne/ │ └── build/ # 构建系统 ├── bin/ # 辅助脚本 │ ├── run.sh # 主运行脚本 │ ├── fix_repo.sh # 修复单个仓库 │ ├── fix_all_repos.sh # 批量修复仓库 │ └── roomservice.xml # 设备清单模板 └── README.md # 本文档辅助脚本说明
run.sh - 主运行脚本
完整的初始化和构建脚本:
#!/bin/bashexportLINEAGE_ROOT=/path/to/lineageosPATH="$LINEAGE_ROOT/bin:$PATH"# 配置 ccacheexportUSE_CCACHE=1exportCCACHE_EXEC=/usr/bin/ccache ccache-M50G ccache-ocompression=true# 创建目录mkdir-p$LINEAGE_ROOT/android/lineagecd$LINEAGE_ROOT/android/lineage# 初始化仓库repo init-uhttps://github.com/LineageOS/android.git-blineage-20.0 --git-lfs --no-clone-bundle# 使用清华镜像sed-i's#https://android.googlesource.com#https://mirrors.tuna.tsinghua.edu.cn/git/AOSP#g'.repo/manifests/default.xml# 配置设备清单if[!-d.repo/local_manifests];thenmkdir-p.repo/local_manifestsfiif[!-f.repo/local_manifests/roomservice.xml];thencp$LINEAGE_ROOT/bin/roomservice.xml .repo/local_manifests/fi# 同步源代码reposync-c-j$(nproc--all)reposync-j$(nproc--all)--fail-fast# 构建系统sourcebuild/envsetup.sh croot breakfast wayne croot brunch waynefix_repo.sh - 修复特定仓库
用于修复已知问题仓库:
#!/bin/bashLINEAGE_ROOT=/path/to/lineageoscd$LINEAGE_ROOT/android/lineage# 已知问题仓库列表declare-arepos=("art""developers/build""device/google/cuttlefish_prebuilts""external/XNNPACK""external/antlr""external/apache-xml""external/arm-neon-tests""external/deqp""external/perfetto""external/python/google-api-python-client")echo"开始修复仓库..."forrepoin"${repos[@]}";doif[-d"$repo"];thenecho"修复:$repo"cd"$repo"gitclean-fdgitreset--hardcd->/dev/nullfidoneecho"修复完成,重新同步...".repo/repo/reposync-j1--fail-fastfix_all_repos.sh - 批量扫描修复
自动扫描并修复所有问题仓库(见上文)。
快速参考命令
# 初始化repo init-uhttps://github.com/LineageOS/android.git-blineage-20.0 --git-lfs# 使用镜像sed-i's#https://android.googlesource.com#https://mirrors.tuna.tsinghua.edu.cn/git/AOSP#g'.repo/manifests/default.xml# 同步reposync-c-j$(nproc--all)# 构建准备sourcebuild/envsetup.sh breakfast wayne# 构建brunch wayne# 清理makeclean# 查看构建状态ccache-s# 查看设备信息catdevice/xiaomi/wayne/device.mk免责声明
- 编译和刷入自定义 ROM 可能会导致设备损坏或失去保修,请自行承担风险。
- 本教程仅供学习参考,不保证在所有环境下都能成功。
- 请确保您了解解锁 Bootloader 和刷入 Recovery 的风险。
- 建议在操作前完整备份设备数据。
参考资料
- LineageOS 官方 Wiki
- LineageOS 构建指南
- Xiaomi 6X 设备信息
- 清华大学 AOSP 镜像
- Repo 工具文档
更新日志
| 日期 | 版本 | 说明 |
|---|---|---|
| 2026-03-30 | 1.0 | 初始版本,基于实际编译经验整理 |
祝您编译顺利!
