Vytvoření vlastní verze Androidu se může zdát jako úkol vyhrazený pro velmi zkušené vývojáře, ale pravdou je, že s řádnou přípravou a trochou trpělivosti může kdokoli se základními znalostmi začít vytvářet vlastní ROM. Ať už se snažíte vyladit systémové funkce, prodloužit životnost zařízení nebo se jednoduše jedná o technickou výzvu, sestavení Androidu je velmi obohacující a poučný zážitek.
V tomto podrobném návodu vám vysvětlíme celý proces od začátku.od přípravy vývojového prostředí až po kroky kompilace operačního systému na konkrétním zařízení. K tomuto tématu použijeme nejlepší dostupné zdroje: oficiální dokumentaci k projektu Android Open Source Project (AOSP), osobní zkušenosti publikované na GitHubu zkušenými uživateli a nástroje, které celý proces usnadňují.
Co potřebujete, než začnete vytvářet vlastní verzi Androidu?
Než začneme, je nutné si ujasnit, že kompilace Androidu To se nedá zvládnout za pět minut. Vyžaduje to dobrou přípravu a nějaké základní nástroje. Samozřejmě, pokud jste organizovaní a postupujete správně podle kroků, výsledek bude stát za to.
- Počítač s 64bitovým Linuxem, nejlépe s alespoň 16 GB RAM a dostatkem volného místa na disku (pro jistotu více než 100 GB).
- Java (JDK), ve verzi doporučené pro verzi Androidu, kterou budete kompilovat. Starší verze, jako například Android 8.0, vyžadují pro správné fungování specifickou verzi Javy.
- Nástroje jako Git, ccache a Python bude také během procesu nezbytné.
- Nástroje pro Android SDK a platformu, například ADB (Android Debug Bridge), který si můžete nainstalovat z repozitářů vaší distribuce nebo stáhnout z oficiálních webových stránek.
Počáteční nastavení prostředí při sestavování verze pro Android

Jakmile máte systém připravený, prvním krokem je konfigurace prostředí pro sestavení. K tomu AOSP doporučuje použít skript s názvem envsetup.sh. Tento skript importuje několik užitečných příkazů a připraví prostředí pro práci s kódem Androidu.
Z kořenového adresáře staženého zdrojového kódu spusťte následující příkaz:
source build/envsetup.sh
Tento krok je nutné provést na každém nově otevřeném terminálu., protože skript konfiguruje kritické proměnné, které budou v průběhu celého procesu nezbytné.
Vyberte cíl sestavení
Než cokoli zkompilujete, musíte systému sdělit pro jaké zařízení kompilujete. Tomu se říká výběr „cíle“. K tomu použijte příkaz lunch, následovaný řetězcem určujícím produkt, konfiguraci a variantu sestavení.
Příklad typického použití oběda:
lunch aosp_cf_x86_64_phone-trunk_staging-userdebug
Tím se vybere emulované zařízení s architekturou x86_64, ideální pro počáteční testování.
Volitelně můžete použít:
echo "$TARGET_PRODUCT-$TARGET_BUILD_VARIANT"
Zobrazí se vám aktuálně vybraná nastavení, abyste se ujistili, že jsou správná.
Varianty kompilace: user, userdebug a eng
Část příkazu lunch, která definuje variantu, může mít tři hodnoty:
- uživatel: Varianta orientovaná na produkční prostředí, bez root přístupu nebo ladicích nástrojů.
- ladění uživatele: Podobné jako předchozí, ale s aktivovanými ladicími nástroji. Ideální pro vývojáře.
- angličtina: Varianta pro interní vývoj. Rychlejší kompilace a méně optimalizované.
Stáhněte si zdrojový kód
Zdrojový kód Androidu je obrovský. Stahuje se pomocí nástroje s názvem repo. Například pro stažení kódu LineageOS 17.1 byste spustili:
repo init -u https://github.com/LineageOS/android.git -b lineage-17.1
repo sync
Tento krok může trvat hodiny, v závislosti na vašem internetovém připojení. Také se může občas zhroutit, takže pokud k tomu dojde, stačí ho znovu spustit. repo sync dokud to neskončí.
Instalace proprietárních blobů
Pro kompilaci ROM pro konkrétní zařízení budete potřebovat proprietární objekty blob, pokud výrobce nezveřejní veškerý kód. Tyto objekty blob jsou binární soubory, které obsahují funkce specifické pro hardware.
Oblíbeným zdrojem blobů je repozitář Muppets na GitHubu. Můžete si je stáhnout ručně pomocí:
mkdir -p vendor/motorola
cd vendor
git clone https://github.com/TheMuppets/proprietary_vendor_motorola motorola
Inicializace prostředí pro zařízení
Jakmile jsou bloby staženy, spusťte znovu:
breakfast evert
kde Evert by byl interní název vašeho zařízení (v tomto případě Moto G6 Plus).
Optimalizujte proces pomocí ccache
Chcete-li v budoucnu zkrátit dobu kompilace, můžete povolit ccache:
export USE_CCACHE=1
export CCACHE_EXEC=/usr/bin/ccache
ccache -M 50G
ccache -o compression=true
Kompilace Androidu
Když je vše připraveno, je čas na kompilaci. Spusťte příkaz:
brunch evert
Tím se spustí proces kompilace. V závislosti na vašem hardwaru to může trvat několik hodin.. Doporučuje se mít alespoň 16 GB RAM.
Výstup kompilace se obvykle nachází v:
out/target/product/evert/
Tam uvidíte soubor .zip s ROM připravenou k instalaci do vašeho zařízení.
Volitelné nástroje: ScriBt
Zajímavou možností pro ty, kteří si chtějí proces usnadnit, je použití ScriBt, nástroj, který automatizuje části vývoje vlastních ROM.
ScriBt umožňuje:
- Vytváření a synchronizace repozitářů
- Automaticky nainstalujte potřebné závislosti, jako je Java a ADB
- Vytvořte pro nové vývojáře lépe řízené pracovní prostředí
ScriBt však vyžaduje určité předchozí znalosti a zdrojový kód zařízení. Ale pokud splňujete požadavky, může vám ušetřit mnoho hodin.
Kompilace pro Thread routery na Androidu
Dalším konkrétním případem popsaným v oficiální dokumentaci je sestavení hraničního routeru založeného na vláknech. K tomu budete muset nastavit vlastní HAL (vrstvu abstrakce hardwaru) a mít přístup ke zdrojovému kódu síťového čipu Thread.
Na zařízeních, jako je Cuttlefish (emulátor Androidu), si tyto funkce již můžete otestovat pomocí simulací a nástrojů, jako je ot-cli-ftd y ot-ctl, které vám umožňují virtuálně ovládat rádio.
Také podrobně popisuje, jak přizpůsobit modul APEX pro práci se skutečnými rádii Thread pomocí UART, SPI nebo socketů. Tato část je pokročilejší a vyžaduje úpravu XML souborů, oprávnění a inicializačních skriptů systému.
Testování a certifikace
Jakmile máte zkompilovanou ROM, můžete ověřit její funkčnost pomocí vlastních testů a oficiálních testů kompatibility:
- VTS: Zkontrolujte funkčnost HAL.
- CTS: Kontroluje, zda API respektují pravidla systému Android.
- Integrace: Funkční testování celého systému.
Můžete také použít aplikaci ThreadNetworkDemoApp provádět vizuální testy v grafickém prostředí.
Sestavte si vlastní verze pro Android Je to náročný, ale velmi obohacující proces. Od nastavení prostředí, výběru cílového hardwaru a stahování zdrojového kódu až po přizpůsobení specifických konfigurací nebo použití nástrojů, jako je ScriBt nebo ccache, je každý krok důležitý.
I když to vyžaduje čas, disciplínu a dodržování mnoha technických kroků, s dobrým vedením můžete dosáhnout překvapivých výsledků, i když nejste expert. A to nejlepší: budete mít ROM přesně přizpůsobenou vašemu vkusu a potřebám. Sdílejte tuto příručku, aby více uživatelů vědělo, jak si zkompilovat vlastní verzi Androidu..
