DocumentaçãoCOMPILAR A IMAGEM

COMPILAR A IMAGEM

Do código-fonte a um pacote flasheável.

Uma sessão de terminal. Noventa minutos em uma estação de trabalho moderna. O mesmo hash que publicamos — ou um alarme.

01

Pré-requisitos

Uma estação de trabalho com Ubuntu 22.04 LTS ou 24.04 LTS, 64 GB de RAM, 400 GB de disco livre, um JDK 17 recente, a ferramenta repo mais recente do Android e o Git. Qualquer Linux moderno funciona — estas são as versões contra as quais testamos.

Por que tanto disco?
Um checkout do AOSP tem cerca de 250 GB. Os artefatos de build somam outros 80–100 GB. Mantenha isso em um SSD — disco rígido convencional não termina em nenhum tempo razoável.
02

Clonar o manifesto público

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-tags

repo sync leva cerca de 30–60 minutos na primeira vez. As sincronizações seguintes são rápidas.

03

Compilar a imagem

shell. build/envsetup.sh
lunch lydos_husky-user
m -j$(nproc) target-files-package

lunch configura o ambiente de build para o dispositivo-alvo. m target-files-package produz o pacote que será flasheado e o recibo de reprodutibilidade correspondente.

Etapa de longa duração
O primeiro build leva de 60 a 120 minutos, dependendo do hardware. Os builds seguintes são incrementais e bem mais curtos.
04

Verificar contra o hash publicado

shell./verify-bundle.sh out/dist/lydos_husky-target_files-*.zip
# expects:
#   build_sha256 == published_release_sha256
#   manifest_signatures_valid == 3 / 3
Coincide
Quando o hash coincide e as três assinaturas verificam, você pode ter confiança de que a imagem nesta máquina é bit a bit idêntica à que enviamos.
Divergência
Se qualquer verificação falhar, não flashe. Abra uma issue com o diff dos arquivosbuild.prop e a saída de verify-bundle.sh. Uma divergência é interessante — investigue antes de presumir que é inofensiva.
05

O que fazer em seguida

A saída é um target_files.zip flasheável. Combine-o com o manifesto público de lançamento e, então, flashe-o diretamente com lyd-flasher ou hospede-o em seu próprio mirror para uma organização.

Continue para Verificar um lançamento para ver o mesmo fluxo do lado do consumidor, ou Rodar um nó de federação para participar da imunidade entre dispositivos.