Sprievodcovia

Ako zostaviť vlastnú ROM z projektu Android s otvoreným zdrojom

Ak ste oboznámení s rootovaním telefónu s Androidom alebo so sťahovaním vlastných ROM, ako je napríklad veľmi populárny CyanogenMod alebo jeho nástupca Lineage OS, možno by vás zaujímalo - ako si ľudia vytvárajú tieto ROM? Koľko práce presne spočíva vo vývoji prispôsobenej ROM?

Táto príručka vás prevedie základmi vývoja vlastnej prispôsobenej pamäte ROM pre Android. Je potrebné poznamenať, že ide o obrovský podnik - ak nemáte žiadne skúsenosti s programovaním alebo klamaním v termináloch systému Linux, možno budete chcieť získať nejaké znalosti pod pás, než sa ponoríte do tohto hlbokého konca. Ale ak máte o týchto veciach aspoň základnú predstavu, pokúsim sa vám veci vysvetliť čo najjednoduchšie, aby ste ich mohli sledovať.

V zásade to, čo robíme, je stiahnutie súboru surový Zdrojový kód Androidu (AOSP) a jeho úprava podľa našich predstáv. Pretože existuje veľa zdrojov na výber pre rôzne zariadenia, táto príručka bude jednoducho odkazovať na pán zdroj známy ako AOSP (Android Open Source Project).

AOSP teraz spočíva v tom, že ide o čistý zdrojový kód neobsahuje hardvérové ​​vlastnosti špecifické pre dané zariadenie. Laicky povedané, hardvér ako váš fotoaparát a GPU nebude pri vývoji pomocou AOSP fungovať „po vybalení z krabice“. Bez týchto hardvérových binárnych súborov sa vaše zariadenie vlastne ani nespustí.

Ak vyvíjate telefón so značkou Google (Pixel, Nexus atď.), Môžete hardvérové ​​binárne súbory nájsť priamo od spoločnosti Google. Táto príručka vás prevedie ich získaním a zabudovaním do pamäte ROM. Ak však vyvíjate ROM pre značkový telefón (Sony, Samsung atď.) ... nuž, žehnaj svojmu srdcu, pretože si ideš zajazdiť.

Niektoré Výrobcovia majú svoje vlastné projekty typu open-source alebo vydávajú vývojové nástroje pre budúcich vývojárov, zatiaľ čo ostatní výrobcovia prísne chránia svoje vlastnícke kódy. Tu je krátky zoznam open-source projektov od populárnejších výrobcov:

Samsung Open Source Release Center

Svet vývojárov Sony

Podpora spoločnosti Lenovo

Huawei Open Source Release Center

Vývojári spoločnosti Motorola

Ak to nebudeme robiť, pokračujme za predpokladu, že budujeme ROM pre najzákladnejšie vanilkové prostredie Androidu pre zariadenie Google Pixel. Vďaka týmto znalostiam budete môcť sami odbočiť a začať vyvíjať prispôsobené verzie ROM ROM konkrétneho výrobcu.

Požiadavky na tohto sprievodcu:

  • Android Open Source Project
  • Telefón Pixel XL alebo emulátor Android pre Linux
  • 64-bitový operačný systém Linux - Ubuntu alebo Linux Mint sú distribúcie, ktoré sú pre nováčikov najpriaznivejšie, zatiaľ čo BBQLinux bol vyvinutý špeciálne pre vývojárov Androidu.
  • Python
  • Svalnatý počítač (kompilácia kódu zaberie veľa pamäte a miesta!)

Nastavenie prostredia pre zostavenie

Začnime nastavením emulátora Androidu na vašom počítači so systémom Linux. Bez ohľadu na to, či máte alebo nemáte zariadenie Google Pixel XL, je najbezpečnejšie vyskúšať si svoju novú ROM v emulátore Android predtým blikaním do vášho zariadenia. Môj osobný favorit je Genymotion, takže vás prevediem inštaláciou konkrétneho emulátora. Môžete si však tiež prečítať túto príručku „Najlepšie emulátory Androidu“, pretože väčšina z nich má aj kompatibilitu s Linuxom.

Zamierte na webovú stránku Genymotion, zaregistrujte si účet, overte ho prostredníctvom e-mailu a stiahnite si spustiteľný súbor na plochu systému Linux.

Teraz otvorte terminál Linux a zadajte:

Chmod + x genymotion-xxxxx.bin (nahraďte xxxx číslom verzie v názve súboru)

./genymotion-xxxxxx.bin

Stlačte Y. vytvorte adresár Genymotion. Teraz zadajte terminál:

cd genymotion && ./genymotion

Teraz vás požiada o začatie procesu inštalácie, takže pokračujte v klikaní na Ďalej, kým sa nedostanete do okna Pridať virtuálne zariadenia. V časti Model zariadenia vyberte možnosť „Pixel XL“ a potom dokončite inštaláciu. Virtuálne zariadenie môžete vyskúšať, ak chcete, bude to v podstate ako mať telefón Pixel XL na pracovnej ploche.

Poďme si teraz nastaviť Python:

$ apt-get nainštalovať python

Teraz musíme na vašom počítači so systémom Linux nastaviť sadu Java Development Kit. Otvorte terminál Linux a zadajte nasledujúce príkazy:

$ sudo apt-get aktualizácia

$ sudo apt-get nainštalovať openjdk-8-jdk

Teraz budete musieť nakonfigurovať systém Linux tak, aby umožňoval prístup k zariadeniu USB. Spustite nasledujúci kód v termináli Linux:

Stiahne sa požadovaný súbor 51-android.txt, ktorý umožňuje vyššie uvedenému zariadeniu USB prístup. Otvorte súbor .txt a upravte ho tak, aby obsahoval vaše používateľské meno systému Linux, a potom súbor .txt umiestnite na nasledujúce miesto: (ako užívateľ root). Teraz pripojte svoje zariadenie k počítaču cez USB, aby sa nové pravidlá automaticky prejavili.

Sťahuje sa zdroj Android

AOSP je hostený na Gite, takže na komunikáciu s Gitom použijeme nástroj s názvom Repo.

Najskôr musíme nastaviť priečinok / bin vo vašom domovskom adresári. Zadajte nasledujúce príkazy do terminálu Linux:

$ mkdir ~ / bin

$ PATH = ~ / bin: $ PATH

Teraz si stiahneme nástroj Repo, takže zadajte do terminálu Linux:

$ curl //storage.googleapis.com/git-repo-downloads/repo> ~ / bin / repo

$ chmod a + x ~ / bin / repo

Po nainštalovaní aplikácie Repo musíme teraz vytvoriť prázdny adresár, do ktorého budete môcť uložiť svoje pracovné súbory. Zadajte teda tento text do terminálu Linux:

$ mkdir WORKING_DIRECTORY

$ cd WORKING_DIRECTORY

Teraz nakonfigurujeme Git s vašim menom a e-mailovou adresou - používajte pravidelne kontrolovanú adresu Gmail, inak nebudete môcť použiť nástroj na kontrolu kódu Gerrit.

$ git config –global user.name „Vaše meno“

$ git config –global user.email [email protected]

Teraz povieme Repovi, aby z Gitu vytiahol najnovší hlavný manifest AOSP:

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

Ak bude úspešné, dostanete správu, že Repo bolo inicializované vo vašom pracovnom adresári. Nájdete tiež.repo “ adresár vo vnútri adresára klienta. Teraz si teda stiahneme zdrojový strom Androidu s:

$ repo synchronizácia

Budovanie zdroja Android

Tu vstupujú do hry hardvérové ​​binárne súbory spomenuté na začiatku tejto príručky. Prejdime na stránku s ovládačmi AOSP a stiahnite si binárne súbory Pixel XL pre Android 7.1.0 (NDE63P). Chcete si stiahnuť obraz dodávateľa aj hardvérové ​​komponenty. Pochádzajú ako komprimované archívy, takže ich rozbaľte na plochu a spustite samorozbaľovací skript z koreňového priečinka. Vyberte inštaláciu binárnych súborov do koreňového adresára WORKING_DIRECTORY, ktorý sme vytvorili predtým.

Teraz zadajte do svojho terminálu Linux:

$ zarobiť

$ zdroj build / envsetup.sh

Teraz vyberieme cieľ, ktorý sa má vytvoriť, a zadajte:

$ obed aosp_marlin-userdebug

$ setpaths

$ značka –j4

Tam sme teraz „vytvorili“ Android ROM zo zdroja. Poďme to teda vyskúšať v emulátore zadaním do terminálu:

emulátor $

Pohrajte sa teda trochu v emulátore. Ako vidíte, čisto vanilkový Android je úplne minimálny, a preto výrobcovia prispôsobujú AOSP svojim potrebám. Takže ty mohol flash túto ROM, ktorú sme práve vytvorili pre vaše zariadenie, ak ste chceli, ale bez pridania akýchkoľvek vylepšení by bola čisto vanilková skúsenosť so systémom Android skutočne veľmi nudná vec.

Takže to, čo výrobcovia zvyčajne robia s AOSP, je rozdvojenie, pridanie vlastných proprietárnych binárnych súborov, prispôsobenie používateľského rozhrania, pridanie loga bootovania atď. .

Zostaňte naladení, pretože druhá časť tohto sprievodcu sa zameriava na pridanie písma, tém a bootovacej animácie do vašej pamäte ROM!