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

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 nájsť hardvérové ​​binárne súbory priamo z Googlu a táto príručka vás prevedie ich získaním a zabudovaním do vašej 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 s otvoreným zdrojovým kódom 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 BBQLinux bol vyvinutý špeciálne s ohľadom na 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 vždy 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 systému Android ”, Pretože väčšina z nich má aj kompatibilitu s Linuxom.

Zamierte do Web 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 A 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 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 https://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
vy@gmail.com

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

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

Ak bude úspešné, dostanete správu, že vo vašom pracovnom adresári bolo inicializované Repo. 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. Poďme k Ovládače AOSP stránku 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. Prichá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ť tejto príručky bude obsahovať pridanie typov písma, tém a bootovacej animácie do vašej pamäte ROM!

5 minút čítania