Kako zgraditi ROM po meri iz odprtokodnega projekta Android

vir znan kot AOSP (Android Open Source Project) .



Zdaj je stvar AOSP ta, da je čista izvorna koda ne vključuje lastnosti strojne opreme, specifične za napravo. Laično rečeno, strojna oprema, kot sta fotoaparat in grafični procesor, pri razvoju z AOSP ne bo delovala 'od spodaj'. Dejansko se vaša naprava niti brez teh binarnih datotek strojne opreme ne bo zagonila.

Če razvijate telefon z blagovno znamko Google (Pixel, Nexus itd.), Lahko najdete binarne datoteke strojne opreme neposredno od Googla , in ta vodnik vas bo vodil skozi pridobivanje in vgradnjo v vaš ROM. Če pa razvijate ROM za telefon z blagovno znamko (Sony, Samsung itd.) ... no, blagoslovite svoje srce, ker vas čaka vožnja.



Nekateri proizvajalci imajo lastne odprtokodne projekte ali izdajajo razvojna orodja za potencialne razvijalce, medtem ko drugi proizvajalci tesno pokrivajo svoje lastniške kode. Tu je kratek seznam odprtokodnih projektov bolj priljubljenih proizvajalcev:



Samsung Open Source Release Center
Sony Developer World
Podpora Lenovo
Odprtokodni center za izdajo Huawei
Razvijalci Motorola



Če tega ne odstranimo, nadaljujmo s predpostavko, da za napravo Google Pixel gradimo ROM za najosnovnejšo, vanilijevo Android izkušnjo. S tem znanjem pod pasom se boste lahko sami razvejali in začeli razvijati prilagojene različice ROM-ov določenega proizvajalca.

Zahteve za ta vodnik:

  • Android Open Source Project
  • Telefon Pixel XL ali Android emulator za Linux
  • 64-bitni operacijski sistem Linux - Ubuntu ali Linux Mint so najbolj zaželene novine, medtem ko BBQLinux je bil razvit posebej za razvijalce Androida.
  • Python
  • Močan računalnik (sestavljanje kode traja veliko pomnilnika in prostora!)

Nastavitev gradbenega okolja

Začnimo z nastavitvijo emulatorja Android na vašem računalniku Linux. Ne glede na to, ali imate napravo Google Pixel XL, je vedno najbolj varno preizkusiti svoj novi ROM na emulatorju Android prej utripa na vašo napravo. Moj najljubši je Genymotion, zato vas bom vodil skozi namestitev tega emulatorja. Lahko pa si ogledate tudi ta vodnik “ Najboljši Android emulatorji ”, Saj ima večina tudi združljivost z Linuxom.

Pojdite na Spletno mesto Genymotion , registrirajte račun, ga preverite po e-pošti in prenesite izvršljivo datoteko na namizje Linuxa.



Zdaj odprite terminal Linux in vnesite:

Chmod + x genymotion-xxxxx.bin (xxxx zamenjajte s številko različice v imenu datoteke)
./genymotion-xxxxxx.bin

Pritisnite IN da ustvarite imenik Genymotion. Zdaj vnesite v terminal:

cd genymotion && ./genymotion

Zdaj vas bo pozval, da začnete postopek namestitve, zato še naprej kliknite Naprej, dokler ne pridete do okna Dodaj navidezne naprave. V možnosti Model naprave izberite “Pixel XL” in nato dokončajte namestitev. Če želite, lahko navidezno napravo preizkusite, v bistvu bo kot telefon Pixel XL na namizju.

Zdaj nastavimo Python:

$ apt-get namestite python

Zdaj moramo na vašem računalniku Linux nastaviti Java Development Kit. Odprite terminal Linux in vnesite naslednje ukaze:

$ sudo apt-get posodobitev
$ sudo apt-get namestite openjdk-8-jdk

Zdaj boste morali sistem Linux konfigurirati tako, da omogoča dostop do naprav USB. V terminalu Linux zaženite naslednjo kodo:

S tem boste prenesli zahtevano datoteko 51-android.txt, ki omogoča dostop do zgoraj omenjene naprave USB. Odprite datoteko .txt in jo spremenite tako, da bo vključevala vaše uporabniško ime za Linux, nato pa datoteko .txt postavite na naslednje mesto: (kot root uporabnik ). Zdaj priključite napravo v računalnik prek USB-ja, da bodo nova pravila samodejno začela veljati.

Prenos vira Android

AOSP gostuje na Gitu, zato bomo za komunikacijo z Gitom uporabili orodje Repo.

Najprej moramo nastaviti mapo / bin v vašem domačem imeniku. V terminal Linux vnesite naslednje ukaze:

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

Zdaj bomo prenesli orodje Repo, zato vtipkajte v terminal Linux:

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

Ko je Repo nameščen, moramo zdaj ustvariti prazen imenik za vaše delovne datoteke. Torej to vnesite v terminal Linux:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Zdaj bomo Git konfigurirali z vašim imenom in e-poštnim naslovom - uporabite Gmailov naslov, ki ga redno preverjate , sicer ne boste mogli uporabljati orodja za pregled kode Gerrit.

$ git config –global user.name “Vaše ime”
$ git config –global user.email
you@gmail.com

Zdaj bomo Repu rekli, naj iz Gita potegne najnovejši glavni manifest AOSP:

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

Če bo uspešno opravljeno, boste prejeli sporočilo, da je bil Repo inicializiran v vašem delovnem imeniku. Našli boste tudi .repo ' v odjemalskem imeniku. Torej, zdaj bomo naložili izvorno drevo za Android z:

$ repo sinhronizacija

Izdelava vira Android

Tu pridejo v poštev strojne datoteke, omenjene na začetku tega vodnika. Pojdimo na Gonilniki AOSP strani in prenesite binarne datoteke Pixel XL za Android 7.1.0 (NDE63P). Naložiti želite sliko prodajalca in komponente strojne opreme. Ti so v obliki stisnjenih arhivov, zato jih izvlecite na namizje in zaženite samorazvlečni skript iz korenske mape. Izberite, da namestite binarne datoteke v koren datoteke WORKING_DIRECTORY, ki smo jo ustvarili prej.

Zdaj vnesite v svoj terminal Linux:

$ naredite clobber
$ source build / envsetup.sh

Zdaj bomo izbrali cilj za gradnjo, zato vnesite:

$ kosilo aosp_marlin-userdebug
$ setpaths
$ make –j4

Tam smo zdaj 'zgradili' Android ROM iz vira. Preizkusimo ga torej v emulatorju, tako da vtipkamo v terminal:

$ emulator

Zato se malo poigrajte v emulatorju. Kot lahko vidite, je povsem vanilijska Android izkušnja povsem minimalna in zato proizvajalci AOSP prilagodijo svojim potrebam. Torej ti lahko Flash, ki smo ga pravkar vgradili v vašo napravo, če želite, vendar brez dodajanja izboljšav bi bila povsem vanilijska izkušnja Androida zelo dolgočasna.

Torej, kaj bodo proizvajalci običajno naredili z AOSP, ga razkrijejo, dodajo svoje lastniške binarne datoteke, prilagodijo uporabniški vmesnik, dodajo zagonski logotip itd. Proizvajalec v bistvu samo prebarva osnovni Android ROM in tako bo to tudi vaš naslednji cilj .

Ostanite z nami, saj bo drugi del tega vodnika dodal pisave, teme in zagonsko animacijo v ROM!

5 minut branja