Cum se construiește un ROM personalizat din Android Open Source Project

sursă cunoscut sub numele de AOSP (Android Open Source Project) .



Acum, chestia despre AOSP este că codul sursă pur nu include proprietăți hardware specifice dispozitivului. În termeni simpli, hardware cum ar fi 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ă dezvoltați un telefon cu marca Google (Pixel, Nexus etc.), puteți găsi binare hardware direct de la Google , iar acest ghid vă va ajuta să le obțineți și să le construiți în ROM. Cu toate acestea, dacă dezvoltați un ROM pentru un telefon de marcă (Sony, Samsung etc.) ... bine, binecuvântați-vă inima, pentru că sunteți în plimbare.



niste producătorii au propriile proiecte open-source sau lansează instrumente de dezvoltare pentru potențialii dezvoltatori, în timp ce alți producători păstrează un capac strâns asupra codurilor proprii. Iată o scurtă listă a proiectelor open source de la cei mai cunoscuți producători:



Samsung Open Source Release Center
Sony Developer World
Suport Lenovo
Huawei Open Source Release Center
Dezvoltatori Motorola



Având în vedere acest lucru, să continuăm, presupunând că construim un ROM pentru cea mai simplă experiență Android de vanilie, pentru un dispozitiv Google Pixel. Având la cunoștință aceste cunoștințe, veți putea să vă ramificați singuri și să începeți să dezvoltați versiuni personalizate ale anumitor ROM-uri ale producătorului.

Cerințe pentru acest ghid:

  • Proiect Open Source Android
  • Telefon Pixel XL sau un emulator Android pentru Linux
  • Sistem de operare Linux pe 64 de biți - Ubuntu sau Linux Mint sunt distrosurile cele mai prietenoase pentru începători, întrucât BBQLinux a fost dezvoltat special având în vedere dezvoltatorii Android.
  • Piton
  • Un computer puternic (compilarea codului necesită multă memorie și spațiu!)

Configurarea mediului dvs. de construcție

Să începem prin configurarea emulatorului Android pe computerul dvs. Linux. Indiferent dacă aveți sau nu un dispozitiv Google Pixel XL, este întotdeauna cel mai sigur să încercați noul ROM pe un emulator Android inainte de intermitent pe dispozitiv. Preferatul meu personal este Genymotion, așa că vă voi ajuta să instalez acel emulator. Cu toate acestea, puteți consulta și acest ghid „ Cele mai bune emulatoare Android ”, Deoarece majoritatea au compatibilitate Linux.

Mergeți la Site-ul 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

presa ȘI pentru a crea directorul Genymotion. Acum introduceți terminalul:

cd genymotion && ./genymotion

Acum vă va cere să începeți procesul de instalare, deci continuați să faceți clic pe Următorul până când 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, practic va fi 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 computerul dvs. Linux. 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 fișierul 51-android.txt necesar, care permite accesul dispozitivului USB menționat mai sus. Deschideți fișierul .txt și modificați-l pentru a include numele de utilizator Linux, apoi plasați fișierul .txt în următoarea locație: (dupa cum 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ă configurăm un folder / bin în directorul dvs. 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, acum trebuie să creăm un director gol pentru a vă păstra fișierele de lucru. Deci, introduceț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 de revizuire a codului Gerrit.

$ git config –global user.name „Numele tău”
$ git config –utilizator global.email
tu@gmail.com

Acum îi vom spune Repo să extragă cel mai recent manifest master al AOSP de la Git:

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

Dacă ați terminat cu succes, veți primi un mesaj că Repo a fost inițializat în directorul dvs. de lucru. Veți găsi, de asemenea, un „ .repo ” director din directorul client. Deci, acum vom descărca arborele sursă Android cu:

$ repo sincronizare

Construirea sursei Android

Aici intră în joc binarele hardware menționate la începutul acestui ghid. Să ne îndreptăm spre Drivere AOSP pagină și descărcați 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 auto-extragere din folderul rădăcină. Alegeți să instalați binare la rădăcina WORKING_DIRECTORY pe care am creat-o mai devreme.

Acum introduceți terminalul Linux:

$ face clobber
$ source build / envsetup.sh

Acum vom alege ținta de construit, așa că tastați:

$ lunch aosp_marlin-userdebug
$ setpaths
$ make –j4

Acolo, acum am „construit” un ROM Android din sursă. Deci, să-l testăm în emulator, tastând în terminal:

$ emulator

Așa că jucați puțin în emulator. După cum puteți vedea, o experiență Android pur vanilată este destul de minimă și de aceea producătorii personalizează AOSP în funcție de nevoile lor. Deci tu ar putea flash 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 un lucru foarte plictisitor.

Deci, ceea ce producătorii vor face în mod obișnuit cu AOSP este să-l folosească, să adauge propriile lor binare proprii, să personalizeze interfața de utilizare, să adauge o siglă de încărcare, etc. .

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 încărcare pe ROM!

5 minute citite