Kako izraditi prilagođeni ROM iz Android Open Source projekta

izvor poznat kao AOSP (Android Open Source Project) .



Stvar u vezi s AOSP-om je čisti izvorni kod ne uključuje svojstva hardvera specifična za uređaj. Laički rečeno, hardver poput vaše kamere i GPU-a neće raditi 'iz kutije' kada se razvija s AOSP-om. Zapravo se vaš uređaj neće pokrenuti bez ovih hardverskih binarnih datoteka.

Ako razvijate telefon s robnom markom Google (Pixel, Nexus itd.), Možete pronaći hardverske binarne datoteke izravno s Googlea , a ovaj vodič će vas provesti kroz dobivanje i ugradnju u vaš ROM. Međutim, ako razvijate ROM za telefon s robnom markom (Sony, Samsung, itd.) ... dobro, blagoslovite svoje srce, jer čekate vožnju.



Neki proizvođači imaju vlastite projekte otvorenog koda ili objavljuju razvojne alate za buduće programere, dok drugi proizvođači čvrsto drže poklopac na svojim vlasničkim kodovima. Evo kratkog popisa projekata otvorenog koda popularnijih proizvođača:



Samsung Open Source centar za izdanja
Sony Developer World
Lenovo podrška
Huaweijev centar za otvoreni izvor
Programeri Motorola



S tim da se sklonimo, nastavimo pod pretpostavkom da gradimo ROM za najosnovnije, vanilin Android iskustvo, za Google Pixel uređaj. S ovim znanjem pod svojim paskom moći ćete se samostalno razgranati i započeti razvoj prilagođenih verzija ROM-ova određenog proizvođača.

Zahtjevi za ovaj vodič:

  • Android Open Source projekt
  • Pixel XL telefon ili Android emulator za Linux
  • 64-bitni Linux operativni sustav - Ubuntu ili Linux Mint su najviše prikladne za newbie distribucije, dok BBQLinux je razvijen posebno za Android programere.
  • Piton
  • Gusto računalo (sastavljanje koda zauzima puno memorije i prostora!)

Postavljanje vašeg okruženja gradnje

Počnimo s postavljanjem Android emulatora na vašem Linux računalu. Bez obzira imate li uređaj Google Pixel XL, uvijek je najsigurnije isprobati novi ROM na Android emulatoru prije prebacujući ga na vaš uređaj. Moj osobni favorit je Genymotion, pa ću vas provesti kroz instalaciju tog određenog emulatora. Međutim, možete pogledati i ovaj vodič “ Najbolji Android emulatori ”, Jer većina njih također ima Linux kompatibilnost.

Krenite prema Web stranica Genymotion , registrirajte račun, potvrdite ga putem e-pošte i preuzmite izvršnu datoteku na radnu površinu Linuxa.



Sada otvorite Linux terminal i upišite:

Chmod + x genymotion-xxxxx.bin (zamijenite xxxx brojem verzije u nazivu datoteke)
./genymotion-xxxxxx.bin

Pritisnite I za stvaranje direktorija Genymotion. Sada unesite u terminal:

cd genymotion && ./genymotion

Sada će se od vas tražiti da započnete instalacijski postupak, pa samo nastavite pritiskati Next (Dalje) dok ne dođete do prozora Add Virtual Devices (Dodaj virtualne uređaje). Odaberite 'Pixel XL' u opciji Model uređaja, a zatim dovršite instalaciju. Možete testirati virtualni uređaj ako želite, u osnovi to će biti kao da imate Pixel XL telefon na radnoj površini.

Postavimo sada Python:

$ apt-get instalacija pythona

Sada moramo postaviti Java Development Kit na vaš Linux stroj. Otvorite Linux terminal i upišite sljedeće naredbe:

$ sudo apt-get ažuriranje
$ sudo apt-get instaliraj openjdk-8-jdk

Sada ćete trebati konfigurirati Linux sustav da omogući pristup USB uređaju. Pokrenite sljedeći kod u Linux terminalu:

Ovo će preuzeti potrebnu datoteku 51-android.txt koja omogućuje gore spomenutom USB uređaju pristup. Otvorite .txt datoteku i izmijenite je tako da uključuje vaše korisničko ime za Linux, a zatim postavite .txt datoteku na sljedeće mjesto: (kao root korisnik ). Sada priključite uređaj na računalo putem USB-a kako bi nova pravila automatski stupila na snagu.

Preuzimanje Android izvora

AOSP je hostiran na Gitu, pa ćemo za komunikaciju s Gitom koristiti alat pod nazivom Repo.

Prvo moramo postaviti mapu / bin u vaš početni direktorij. Utipkajte sljedeće naredbe u Linux terminal:

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

Sada ćemo preuzeti alat Repo, pa upišite u Linux terminal:

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

Nakon što je Repo instaliran, sada moramo stvoriti prazan direktorij za čuvanje vaših radnih datoteka. Dakle, upišite ovo u Linux terminal:

$ mkdir WORKING_DIRECTORY
$ cd RADNI_DIR

Sada ćemo konfigurirati Git s vašim imenom i adresom e-pošte - koristite Gmail adresu koju redovito provjeravate , inače nećete moći koristiti Gerritov alat za pregled koda.

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

Sada ćemo reći Repou da povuče najnoviji glavni manifest AOSP-a iz Gita:

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

Ako je uspješno izvedeno, primit ćete poruku da je Repo inicijaliziran u vašem radnom direktoriju. Također ćete pronaći ' .repo ” direktorija unutar klijentskog direktorija. Dakle, sada ćemo preuzeti izvorno stablo Androida sa:

$ repo sinkronizacija

Izrada Android izvora

Tu nastupaju hardverske binarne datoteke spomenute na početku ovog vodiča. Krenimo na AOSP upravljački programi stranicu i preuzmite Pixel XL binarne datoteke za Android 7.1.0 (NDE63P). Želite preuzeti i sliku dobavljača i hardverske komponente. To su komprimirane arhive, pa ih izdvojite na radnu površinu i pokrenite samoraspakirajuću skriptu iz korijenske mape. Odaberite instalirati binarne datoteke u korijen WORKING_DIRECTORY koji smo ranije stvorili.

Sada unesite u svoj Linux terminal:

$ napravi clobber
$ source build / envsetup.sh

Sada ćemo odabrati cilj za izgradnju, pa upišite:

$ ručak aosp_marlin-userdebug
$ setpaths
$ make –j4

Eto, sada smo 'izgradili' Android ROM od izvora. Pa testirajmo ga u emulatoru, upisivanjem u terminal:

$ emulator

Zato se malo poigrajte u emulatoru. Kao što vidite, čisto vanilin Android doživljaj sasvim je minimalan i zato proizvođači prilagođavaju AOSP svojim potrebama. Pa ti mogli flash ovaj ROM koji smo upravo izgradili na vaš uređaj ako želite, ali bez dodavanja bilo kakvih poboljšanja, čisto vanilin Android doživljaj zaista bi bio vrlo dosadna stvar.

Dakle, ono što će proizvođači obično raditi s AOSP-om je da ga račvaju, dodaju vlastite binarne datoteke, prilagođavaju korisničko sučelje, dodaju logotip za pokretanje itd. Proizvođač u osnovi samo prelakira osnovni Android ROM, a to će vam biti i sljedeći cilj .

Pratite nas, jer će drugi dio ovog vodiča dodavati fontove, teme i animaciju pokretanja na vaš ROM!

5 minuta čitanja