Jak si krok za krokem vytvořit vlastní verzi Androidu

    Vyžaduje to nastavení vhodného vývojového prostředí s potřebnými nástroji, musíte správně vybrat cílové zařízení a variantu kompilace, proces zahrnuje stažení zdrojového kódu a jeho kompilaci pomocí specifických příkazů, volitelně si můžete ROM přizpůsobit přidáním proprietárních objektů blob nebo nástrojů, jako je ScriBt.

Jak si zkompilovat vlastní verzi Androidu

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.

Google mění vývoj Androidu
Související článek:
Google reorganizuje vývoj Androidu: méně transparentnosti a více vnitřní kontroly
  • 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

Jak si zkompilovat vlastní verzi Androidu

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.

Jak aktivovat režim pro vývojáře v systému Android a zobrazit jeho skryté funkce
Související článek:
EFIDroid: Kompletní průvodce bootloaderem Android

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ý.

Co je Flutter a jak jej používat
Související článek:
Co je to Flutter a proč je klíčový při vývoji aplikací

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


Sledujte nás ve Zprávách Google