Jak vytvořit vlastní ROM z projektu Android s otevřeným zdrojovým kódem

zdroj známý jako AOSP (Android Open Source Project) .



AOSP nyní spočívá v tom, že jde o čistý zdrojový kód neobsahuje hardwarové vlastnosti specifické pro zařízení. Laicky řečeno, hardware jako váš fotoaparát a GPU nebude při vývoji s AOSP fungovat „po vybalení z krabice“. Bez těchto hardwarových binárních souborů se vaše zařízení ve skutečnosti ani nespustí.

Pokud vyvíjíte telefon se značkou Google (Pixel, Nexus atd.), Můžete najít hardwarové binární soubory přímo z Googlu a tato příručka vás provede jejich získáním a zabudováním do vaší paměti ROM. Pokud však vyvíjíte ROM pro značkový telefon (Sony, Samsung atd.) ... no, požehnáte svému srdci, protože vás čeká jízda.



Nějaký Výrobci mají své vlastní open-source projekty nebo vydávají vývojové nástroje pro budoucí vývojáře, zatímco ostatní výrobci pečlivě zakrývají své vlastní kódy. Zde je stručný seznam open-source projektů od populárnějších výrobců:



Samsung Open Source Release Center
Sony Developer World
Podpora Lenovo
Centrum vydání Huawei Open Source
Vývojáři společnosti Motorola



Když to nebudeme dělat, pokračujme za předpokladu, že budujeme ROM pro nejzákladnější vanilkový Android pro zařízení Google Pixel. Díky těmto znalostem budete moci sami odbočit a začít vyvíjet přizpůsobené verze ROM ROM konkrétního výrobce.

Požadavky na tuto příručku:

  • Android Open Source Project
  • Telefon Pixel XL nebo emulátor Android pro Linux
  • 64bitový operační systém Linux - Ubuntu nebo Linux Mint jsou nejvíce nováčky přátelské distribuce, zatímco BBQLinux byl vyvinut speciálně s ohledem na vývojáře Android.
  • Krajta
  • Svalnatý počítač (kompilace kódu zabere hodně paměti a místa!)

Nastavení prostředí pro sestavení

Začněme nastavením emulátoru Android na vašem počítači se systémem Linux. Bez ohledu na to, zda máte zařízení Google Pixel XL, je vždy nejbezpečnější vyzkoušet novou ROM v emulátoru Android před bliká do vašeho zařízení. Mým osobním favoritem je Genymotion, takže vás provedu instalací konkrétního emulátoru. Můžete si však také přečíst tuto příručku “ Nejlepší emulátory Android ”, Protože většina z nich má také kompatibilitu s Linuxem.

Zamiřte do Webové stránky Genymotion , zaregistrujte účet, ověřte jej e-mailem a stáhněte si spustitelný soubor na plochu systému Linux.



Nyní otevřete terminál Linux a zadejte:

Chmod + x genymotion-xxxxx.bin (nahraďte xxxx číslem verze v názvu souboru)
./genymotion-xxxxxx.bin

lis A k vytvoření adresáře Genymotion. Nyní zadejte terminál:

cd genymotion && ./genymotion

Nyní vás požádá o zahájení procesu instalace, takže pokračujte kliknutím na Další, dokud se nedostanete do okna Přidat virtuální zařízení. V části Model zařízení vyberte možnost „Pixel XL“ a poté dokončete instalaci. Pokud chcete, můžete virtuální zařízení vyzkoušet, bude to v podstatě jako mít telefon Pixel XL na ploše.

Pojďme nyní nastavit Python:

$ apt-get nainstalovat python

Nyní musíme na vašem počítači se systémem Linux nastavit sadu Java Development Kit. Otevřete terminál Linux a zadejte následující příkazy:

$ sudo apt-get aktualizace
$ sudo apt-get install openjdk-8-jdk

Nyní budete muset nakonfigurovat systém Linux tak, aby umožňoval přístup zařízení USB. Spusťte následující kód v terminálu Linux:

Tím se stáhne požadovaný soubor 51-android.txt, který umožňuje výše zmíněnému zařízení USB přístup. Otevřete soubor .txt a upravte jej tak, aby obsahoval vaše uživatelské jméno pro Linux, a poté soubor .txt umístěte do následujícího umístění: (jako uživatel root ). Nyní připojte zařízení k počítači přes USB, aby se nová pravidla automaticky uplatnila.

Stahování zdroje Android

AOSP je hostován na Gitu, takže ke komunikaci s Gitem použijeme nástroj Repo.

Nejprve musíme nastavit složku / bin ve vašem domovském adresáři. Do terminálu Linux zadejte následující příkazy:

$ mkdir ~ / bin
$ PATH = ~ / bin: $ PATH

Nyní si stáhneme nástroj Repo, takže zadejte do terminálu Linux:

$ curl https://storage.googleapis.com/git-repo-downloads/repo> ~ / bin / repo
$ chmod a + x ~ / bin / repo

Po instalaci aplikace Repo musíme nyní vytvořit prázdný adresář pro uložení vašich pracovních souborů. Zadejte to tedy do terminálu Linux:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Nyní nakonfigurujeme Git s vaším jménem a e-mailovou adresou - používejte pravidelně kontrolovanou adresu Gmailu , jinak nebudete moci používat nástroj Gerrit pro kontrolu kódu.

$ git config –global user.name „Vaše jméno“
$ git config –global user.email
vy@gmail.com

Nyní řekneme Repo, aby z Gitu vytáhl nejnovější hlavní manifest AOSP:

$ repo init -u https://android.googlesource.com/platform/manifest

Pokud bude úspěšně dokončeno, obdržíte zprávu, že Repo bylo inicializováno ve vašem pracovním adresáři. Najdete také „ .repo “ adresář uvnitř adresáře klienta. Nyní si tedy stáhneme zdrojový strom Androidu s:

$ repo synchronizace

Vytváření zdroje Android

Zde vstupují do hry hardwarové binární soubory zmíněné na začátku této příručky. Pojďme k Ovladače AOSP stránku a stáhněte si binární soubory Pixel XL pro Android 7.1.0 (NDE63P). Chcete stáhnout obraz dodavatele i hardwarové komponenty. Přicházejí jako komprimované archivy, takže je rozbalte na plochu a spusťte samorozbalovací skript z kořenové složky. Vyberte instalaci binárních souborů do kořenového adresáře WORKING_DIRECTORY, který jsme vytvořili dříve.

Nyní zadejte do svého terminálu Linux:

$ udělat šavle
$ source build / envsetup.sh

Nyní zvolíme cíl, který se má sestavit, a tak zadejte:

$ oběd aosp_marlin-userdebug
$ setpaths
$ make –j4

Tam jsme nyní „vytvořili“ Android ROM ze zdroje. Zkusme to tedy v emulátoru zadáním do terminálu:

emulátor $

Takže si trochu zahrajte v emulátoru. Jak vidíte, čistě vanilková zkušenost se systémem Android je zcela minimální, a proto výrobci přizpůsobují AOSP svým potřebám. Takže ty mohl blesk této ROM, který jsme právě postavili do vašeho zařízení, pokud jste chtěli, ale bez přidání jakýchkoli vylepšení by čistě vanilkový zážitek ze systému Android byl opravdu velmi nudná věc.

Takže to, co výrobci obvykle dělají s AOSP, je rozdvojení, přidání vlastních proprietárních binárních souborů, přizpůsobení uživatelského rozhraní, přidání bootovacího loga atd. Výrobce v podstatě jen maloval nad standardní Android ROM a to bude také váš další cíl .

Zůstaňte naladěni, protože druhá část této příručky projde přidáním písem, motivů a spouštěcí animace do vaší paměti ROM!

5 minut čtení