dacă sunteți familiarizat cu înrădăcinarea telefonului Android sau descărcarea de ROM – uri personalizate, cum ar fi CyanogenMod extrem de popular sau succesorul său Lineage OS, este posibil să vă fi întrebat-cum construiesc oamenii aceste ROM-uri? Cât de mult de lucru merge exact în dezvoltarea unui ROM personalizat?
acest ghid vă va ghida prin elementele de bază ale dezvoltării propriului ROM Android personalizat. Trebuie remarcat faptul că aceasta este o întreprindere masivă – dacă aveți experiență zero în codarea sau păcălirea în terminalele Linux, poate doriți să obțineți niște cunoștințe sub centură înainte de a vă scufunda în acest scop profund. Dar dacă aveți cel puțin o idee de bază despre aceste lucruri, voi încerca să explic lucrurile cât mai simplu posibil, astfel încât să puteți urma.
practic ceea ce facem este să descărcăm codul sursă Android brut (AOSP) și să îl modificăm după bunul nostru plac. Deoarece există atât de multe surse din care să alegeți pentru diferite dispozitive, Acest ghid va face referire pur și simplu la sursa principală cunoscută sub numele de AOSP (Android Open Source Project).
acum, lucrul despre AOSP este că codul sursă pur nu include proprietăți hardware specifice dispozitivului. În termeni laici, hardware-ul precum camera și GPU-ul dvs. nu vor funcționa „din cutie” atunci când se dezvoltă cu AOSP. De fapt, dispozitivul dvs. nu va porni nici măcar fără aceste binare hardware.
dacă sunteți în curs de dezvoltare pentru un telefon de marcă Google (Pixel, Nexus, etc) Puteți găsi binare hardware direct de la Google, iar acest ghid vă va ghida prin obținerea și construirea lor în ROM-ul. Cu toate acestea, dacă sunteți în curs de dezvoltare un ROM pentru un telefon de brand-name (Sony, Samsung, etc)… bine, să binecuvânteze inima ta, pentru că ești într-o plimbare.
unii producători au propriile proiecte open-source sau lansează instrumente de dezvoltare pentru viitorii Dezvoltatori, în timp ce alți producători păstrează un capac strâns asupra codurilor lor proprietare. Iată o scurtă listă de proiecte open-source de la cei mai populari producători:
Samsung Open Source Release Center
Sony Developer World
Lenovo Support
Huawei Open Source Release Center
Motorola Developers
cu asta din drum, să continuăm presupunerea că construim un ROM pentru cea mai de bază experiență Android vanilla, pentru un dispozitiv Google Pixel. Cu aceste cunoștințe sub centură, veți putea să vă ramificați singuri și să începeți să dezvoltați versiuni personalizate ale ROM-urilor specifice producătorului.
cerințe pentru acest ghid:
- Android Open Source Project
- Pixel XL telefon sau un emulator Android Pentru Linux
- sistem de operare Linux pe 64 de biți-Ubuntu sau Linux Mint sunt distros cele mai newbie – friendly, întrucât BBQLinux a fost dezvoltat special cu dezvoltatorii Android în minte.
- Python
- un computer musculos (compilarea codului necesită multă memorie și spațiu!)
configurarea mediului de construcție
să începem prin configurarea emulatorului Android pe mașina dvs. Indiferent dacă aveți sau nu un dispozitiv Google Pixel XL, este întotdeauna cel mai sigur să încercați noul dvs. ROM pe un emulator Android înainte de a-l clipi pe dispozitiv. Preferatul meu personal este Genymotion, așa că vă voi conduce prin instalarea acelui emulator special. Cu toate acestea, puteți consulta și acest ghid „Cele mai bune emulatoare Android”, deoarece majoritatea au și compatibilitate Linux.
accesați site-ul web Genymotion, înregistrați un cont, verificați-l prin e-mail și descărcați executabilul pe desktopul Linux.
acum deschideți un terminal Linux și tastați:
Chmod +x genymotion-xxxxx.bin (înlocuiți xxxx cu numărul versiunii din numele fișierului)
./ genymotion-xxxxxx.bin
Apăsați Y pentru a crea directorul Genymotion. Acum tastați terminalul:
cd genymotion& &./ genymotion
acum vă va cere să începeți procesul de instalare, așa că continuați să faceți clic pe Următorul până ajungeți la fereastra Adăugare dispozitive virtuale. Selectați „Pixel XL” sub Opțiunea Model dispozitiv, apoi finalizați instalarea. Puteți testa dispozitivul virtual dacă doriți, va fi practic ca și cum ați avea un telefon Pixel XL pe desktop.
să configurăm acum Python:
$ apt-get install python
acum trebuie să configurăm kitul de dezvoltare Java pe mașina dvs. Deschideți terminalul Linux și tastați următoarele comenzi:
$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk
acum va trebui să configurați sistemul Linux pentru a permite accesul dispozitivului USB. Rulați următorul cod în terminalul Linux:
aceasta va descărca 51-android necesar.fișier txt care permite accesul dispozitivului USB menționat anterior. Deschide .fișier TXT și modificați-l pentru a include numele de utilizator Linux, apoi plasați .fișier txt în următoarea locație: (ca utilizator root). Acum conectați dispozitivul la computer prin USB pentru ca noile reguli să intre în vigoare automat.
descărcarea sursei Android
AOSP este găzduit pe Git, așa că vom folosi un instrument numit Repo pentru a comunica cu Git.
mai întâi trebuie să setup un folder /bin în directorul de acasă. Tastați următoarele comenzi în terminalul Linux:
$ mkdir ~ / bin
$ PATH=~ / bin:$ PATH
acum vom descărca instrumentul Repo, așa că tastați în terminalul Linux:
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+X ~/bin/repo
după instalarea Repo, trebuie să creăm acum un director gol pentru a ține fișierele de lucru. Deci, tastați acest lucru în terminalul Linux:
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
acum vom configura Git cu numele și adresa dvs. de e – mail-utilizați o adresă Gmail pe care o verificați în mod regulat, altfel nu veți putea utiliza instrumentul Gerrit code-review.
$ git config –utilizator global.nume „numele tău”
$ git config-utilizator global.e-mail [email protected]
acum îi vom spune Repo să extragă cel mai recent manifest principal al AOSP din Git:
$ repo init-u https://android.googlesource.com/platform/manifest
dacă se face cu succes, veți primi un mesaj că Repo a fost inițializat în directorul dvs. de lucru. Veți găsi, de asemenea, o „.repo ” director în directorul client. Deci, acum vom descărca arborele sursă Android cu:
$ repo sync
construirea sursei Android
aici intră în joc binarele hardware menționate la începutul acestui ghid. Să ne îndreptăm spre pagina driverelor AOSP și să descărcăm binarele Pixel XL pentru Android 7.1.0 (NDE63P). Doriți să descărcați atât imaginea furnizorului, cât și componentele hardware. Acestea vin ca arhive comprimate, deci extrageți-le pe desktop și rulați scriptul de auto-extragere din folderul rădăcină. Alegeți să instalați binarele la rădăcina WORKING_DIRECTORY am creat mai devreme.
acum tastați în terminalul Linux:
$ face clobber
$ source build/envsetup.sh
acum vom alege ținta de construit, așa că tastați:
$ prânz aosp_marlin-userdebug
$ setpaths
$ make –j4
acolo, am acum „construit” un ROM Android de la sursă. Deci, să-l testați în emulator, prin tastarea în terminal:
$ emulator
Deci, juca în jurul valorii de emulator un pic. După cum puteți vedea, o experiență Android pur vanilată este destul de minimă și acesta este motivul pentru care producătorii personalizează AOSP în funcție de nevoile lor. Deci, ați putea bloca acest ROM pe care tocmai l-am construit pe dispozitivul dvs. dacă doriți, dar fără a adăuga îmbunătățiri, o experiență Android pur vanilată ar fi într-adevăr un lucru foarte plictisitor.
deci, ceea ce producătorii vor face de obicei cu AOSP este furculiță, adăugați propriile binare de proprietate, personaliza UI, Adăugați un logo de boot, etc. Producătorul practic doar vopsea peste stocul Android ROM, și astfel că va fi următorul obiectiv, de asemenea.
rămâneți la curent, deoarece a doua parte a acestui ghid va trece prin adăugarea de fonturi, teme și o animație de pornire la ROM-ul dvs.!