Com es crea una ROM personalitzada des del projecte de codi obert Android

font conegut com AOSP (Android Open Source Project) .



Ara el que passa amb l'AOSP és que el codi font pur no inclou propietats de maquinari específiques del dispositiu. En termes simples, el maquinari com la càmera i la GPU no funcionaran 'de manera immediata' quan es desenvolupen amb l'AOSP. De fet, el dispositiu ni tan sols arrencarà sense aquests fitxers binaris de maquinari.

Si esteu desenvolupant un telèfon de marca Google (Pixel, Nexus, etc.), podeu trobar els fitxers binaris de maquinari directament de Google , i aquesta guia us guiarà per obtenir-los i incorporar-los a la vostra ROM. Tanmateix, si esteu desenvolupant una ROM per a un telèfon de marca (Sony, Samsung, etc.) ... bé, beneïu el cor perquè esteu a passejar.



Alguns els fabricants tenen els seus propis projectes de codi obert o publiquen eines de desenvolupament per a futurs desenvolupadors, mentre que altres fabricants mantenen una tapa ajustada als codis propietaris. Aquí teniu una breu llista de projectes de codi obert dels fabricants més populars:



Centre de llançament de codi obert de Samsung
Sony Developer World
Suport de Lenovo
Centre de llançament de codi obert de Huawei
Motorola Developers



Sense això, continuem suposant que estem construint una ROM per a l’experiència d’Android més bàsica i bàsica per a un dispositiu Google Pixel. Amb aquest coneixement, podreu ramificar-vos pel vostre compte i començar a desenvolupar versions personalitzades de ROM específiques del fabricant.

Requisits per a aquesta guia:

  • Projecte de codi obert Android
  • Telèfon Pixel XL o bé un emulador d'Android per a Linux
  • Sistema operatiu Linux de 64 bits: Ubuntu o bé Linux Mint són les distribucions més adaptades als principiants, mentre que BBQLinux es va desenvolupar específicament pensant en els desenvolupadors d'Android.
  • Python
  • Un ordinador robust (la compilació de codi requereix molta memòria i espai!)

Configuració del vostre entorn de construcció

Comencem configurant l'emulador d'Android a la vostra màquina Linux. Tingueu o no un dispositiu Google Pixel XL, sempre és més segur provar la vostra nova ROM en un emulador d’Android abans intermitent al dispositiu. El meu favorit personal és Genymotion, així que us guiaré per instal·lar aquest emulador en concret. Tot i això, també podeu consultar aquesta guia ' Els millors emuladors d'Android ”, Ja que la majoria d’ells també tenen compatibilitat amb Linux.

Dirigeix-te al Web de Genymotion , registreu un compte, verifiqueu-lo per correu electrònic i descarregueu l'executable al vostre escriptori Linux.



Ara obriu un terminal Linux i escriviu:

Chmod + x genymotion-xxxxx.bin (substituïu xxxx pel número de versió al nom del fitxer)
./genymotion-xxxxxx.bin

Premeu I per crear el directori Genymotion. Ara escriviu el terminal:

cd genymotion && ./genymotion

Ara us demanarà que comenceu el procés d’instal·lació, de manera que continueu fent clic a Següent fins arribar a la finestra Afegeix dispositius virtuals. Seleccioneu 'Pixel XL' a l'opció Model de dispositiu i, a continuació, completeu la instal·lació. Podeu provar el dispositiu virtual si voleu, bàsicament serà com tenir un telèfon Pixel XL a l’escriptori.

Configurem ara Python:

$ apt-get install python

Ara hem de configurar el Java Development Kit al vostre equip Linux. Obriu el terminal Linux i escriviu les ordres següents:

$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk

Ara haureu de configurar el sistema Linux per permetre l'accés al dispositiu USB. Executeu el codi següent al terminal Linux:

Es descarregarà el fitxer 51-android.txt necessari que permet accedir al dispositiu USB esmentat. Obriu el fitxer .txt i modifiqueu-lo per incloure el vostre nom d'usuari de Linux i, a continuació, col·loqueu el fitxer .txt a la ubicació següent: (com el usuari root ). Ara connecteu el dispositiu a l’ordinador mitjançant USB perquè les noves regles entrin en vigor automàticament.

S'està baixant l'Android Source

L'AOSP està allotjat a Git, de manera que utilitzarem una eina anomenada Repo per comunicar-nos amb Git.

Primer hem de configurar una carpeta / bin al directori inicial. Escriviu les ordres següents al terminal Linux:

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

Ara descarregarem l'eina Repo, així que escriviu al terminal Linux:

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

Un cop instal·lat Repo, ara hem de crear un directori buit per contenir els fitxers de treball. Escriviu-ho al terminal Linux:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Ara configurarem Git amb el vostre nom i adreça electrònica: utilitzeu una adreça de Gmail que comproveu regularment , en cas contrari, no podreu utilitzar l'eina de revisió de codi de Gerrit.

$ git config –global user.name “El vostre nom”
$ git config –global user.email
you@gmail.com

Ara li direm a Repo que extregui el darrer manifest mestre d'AOSP de Git:

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

Si es realitza correctament, rebrà un missatge que indica que s’ha reinicialitzat Repo al directori de treball. També hi trobareu un ' .repo ” directori dins del directori del client. Per tant, ara baixarem l’arbre de fonts d’Android amb:

$ repo sincronització

Construint la font d’Android

2

Aquí és on entren en joc els fitxers binaris de maquinari esmentats al principi d’aquesta guia. Anem cap al Controladors AOSP pàgina i descarregar els fitxers binaris Pixel XL per a Android 7.1.0 (NDE63P). Voleu descarregar la imatge del proveïdor i els components de maquinari. Aquests vénen com a arxius comprimits, així que extreu-los al vostre escriptori i executeu l'script autoextreient de la carpeta arrel. Trieu instal·lar els fitxers binaris a l'arrel del WORKING_DIRECTORY que hem creat anteriorment.

Ara escriviu al vostre terminal Linux:

$ make clobber
$ source build / envsetup.sh

Ara triarem l’objectiu que voleu crear, així que escriviu:

$ lunch aosp_marlin-userdebug
$ setpaths
$ make –j4

Allà, ara hem 'construït' una ROM d'Android des de la font. Per tant, anem a provar-ho a l’emulador escrivint al terminal:

$ emulador

Per tant, jugueu una mica a l’emulador. Com podeu veure, una experiència d'Android purament vainilla és força mínima, i és per això que els fabricants personalitzen l'AOSP segons les seves necessitats. Llavors tu podria flasqueu aquesta ROM que acabem de construir al vostre dispositiu si voleu, però sense afegir cap millora, una experiència d'Android purament vainilla seria una cosa molt avorrida.

Així doncs, el que normalment fan els fabricants amb l'AOSP és afegir-lo, afegir els seus propis fitxers binaris propietaris, personalitzar la interfície d'usuari, afegir un logotip d'arrencada, etc. .

Estigueu atents, ja que la segona part d'aquesta guia passarà per afegir tipus de lletra, temes i una animació d'arrencada a la vostra ROM.

5 minuts de lectura