文档构建镜像
构建镜像
从源代码到一个可刷写的捆绑包。
一次终端会话。在现代工作站上需九十分钟。产出与我们发布相同的哈希 — 否则就是警报。
01
前置条件
一台运行 Ubuntu 22.04 LTS 或 24.04 LTS 的工作站,配备 64 GB 内存、400 GB 空闲磁盘、较新的 JDK 17、最新的 Android repo 工具以及 Git。任何现代 Linux 均可 — 这些是我们用来测试的版本。
为何需要这么多磁盘?
一次 AOSP 检出大约为 250 GB。构建产物再增加 80–100 GB。请将其保存在 SSD 上 — 机械硬盘在任何合理时间内都无法完成。
02
克隆公共清单
shellgit clone --depth 1 \
https://git.lydos.ailydian.com/lydos/lydos-phone-manifest \
-b husky-2026.06.r1
cd lydos-phone-manifest
repo init -u . -b husky-2026.06.r1
repo sync -j8 -c --no-clone-bundle --no-tagsrepo sync 首次大约需要 30–60 分钟。后续同步会很快。
03
构建镜像
shell. build/envsetup.sh
lunch lydos_husky-user
m -j$(nproc) target-files-packagelunch 为目标设备搭建构建环境。 m target-files-package 产出将被刷写的捆绑包以及配套的可复现性回执。
长时间运行的步骤
首次构建视硬件而定需 60–120 分钟。后续构建为增量式,耗时短得多。
04
对照已发布的哈希进行验证
shell./verify-bundle.sh out/dist/lydos_husky-target_files-*.zip
# expects:
# build_sha256 == published_release_sha256
# manifest_signatures_valid == 3 / 3匹配
当哈希匹配且三个签名验证通过时,你可以确信这台机器上的镜像与我们交付的镜像逐位完全相同。
不匹配
若任一检查失败,请勿刷写。提交一个议题,附上
build.prop 文件的差异以及 verify-bundle.sh 的输出。不匹配是值得注意的 — 在假定它无害之前先调查它。05