Kā izveidot pielāgotu ROM no Android atvērtā pirmkoda projekta

avots pazīstams kā AOSP (Android atvērtā pirmkoda projekts) .



Tagad AOSP ir tas, ka tīrs pirmkods neietver ierīcēm raksturīgas aparatūras īpašumtiesības. Vispārīgi runājot, aparatūra, piemēram, kamera un GPU, nedarbosies “ārpus kastes”, izstrādājot ar AOSP. Faktiski jūsu ierīce pat netiks sāknēta bez šīm aparatūras binārām versijām.

Ja veidojat tālruni ar Google zīmolu (Pixel, Nexus utt.), Varat atrast aparatūras bināros failus tieši no Google , un šī rokasgrāmata palīdzēs jums iegūt un ievietot tās jūsu ROM. Tomēr, ja jūs izstrādājat ROM firmas tālruņa nosaukumam (Sony, Samsung utt.) ... labi, svētiet savu sirdi, jo jūs esat gatavs braukt.



Daži ražotājiem ir savi atvērtā koda projekti vai izlaišanas izstrādes rīki topošajiem izstrādātājiem, turpretī citi ražotāji stingri aizsargā savus patentētos kodus. Šeit ir īss populārāko ražotāju atvērtā pirmkoda projektu saraksts:



Samsung atvērtā pirmkoda izlaišanas centrs
Sony izstrādātāju pasaule
Lenovo atbalsts
Huawei atvērtā pirmkoda izlaišanas centrs
Motorola izstrādātāji



Tā kā tas nav iespējams, turpināsim ar pieņēmumu, ka mēs veidojam ROM visvienkāršākajai vaniļas Android pieredzei Google Pixel ierīcei. Izmantojot šīs zināšanas zem jostas, jūs pats varēsit sazināties un sākt izstrādāt pielāgotas konkrēta ražotāja ROM versijas.

Prasības šai rokasgrāmatai:

  • Android atvērtā pirmkoda projekts
  • Pixel XL tālrunis vai Android emulators operētājsistēmai Linux
  • 64 bitu Linux operētājsistēma - Ubuntu vai Linux Mint ir visvairāk iesācējiem draudzīgākie rajoni, turpretī BBQLinux tika izstrādāts īpaši, domājot par Android izstrādātājiem.
  • Python
  • Gaumīgs dators (koda sastādīšana prasa daudz atmiņas un vietas!)

Vides vides iestatīšana

Sāksim ar Android emulatora iestatīšanu Linux datorā. Neatkarīgi no tā, vai jums ir Google Pixel XL ierīce, vienmēr ir drošāk izmēģināt jauno ROM Android emulatorā pirms mirgot to ierīcē. Mans personīgais favorīts ir Genymotion, tāpēc es jums palīdzēsim instalēt konkrēto emulatoru. Tomēr jūs varat arī apskatīt šo ceļvedi “ Labākie Android emulatori ”, Jo lielākajai daļai no tām ir arī saderība ar Linux.

Dodieties uz Genymotion vietne , reģistrējiet kontu, pārbaudiet to pa e-pastu un lejupielādējiet izpildāmo failu savā Linux darbvirsmā.



Tagad atveriet Linux termināli un ierakstiet:

Chmod + x genymotion-xxxxx.bin (aizstājiet xxxx ar faila nosaukuma versijas numuru)
./genymotion-xxxxxx.bin

Nospiediet UN lai izveidotu Genymotion direktoriju. Tagad ierakstiet terminālā:

cd genymotion && ./genymotion

Tagad tas lūgs sākt instalēšanas procesu, tāpēc vienkārši turpiniet noklikšķināt uz Tālāk, līdz nonākat logā Pievienot virtuālās ierīces. Sadaļā Ierīces modelis atlasiet “Pixel XL” un pēc tam pabeidziet instalēšanu. Ja vēlaties, varat pārbaudīt virtuālo ierīci, tas būtībā līdzinās Pixel XL tālruņa darbvirsmai.

Tagad izveidosim Python:

$ apt-get install python

Tagad mums ir jāiestata Java izstrādes komplekts jūsu Linux mašīnā. Atveriet Linux termināli un ierakstiet šādas komandas:

$ sudo apt-get atjauninājums
$ sudo apt-get install openjdk-8-jdk

Tagad jums būs jākonfigurē Linux sistēma, lai atļautu piekļuvi USB ierīcei. Linux terminālī palaidiet šādu kodu:

Tādējādi tiks lejupielādēts nepieciešamais fails 51-android.txt, kas ļauj piekļūt iepriekšminētajai USB ierīcei. Atveriet .txt failu un modificējiet to, lai iekļautu jūsu Linux lietotājvārdu, pēc tam ievietojiet .txt failu šādā vietā: (kā root lietotājs ). Tagad, lai jaunie noteikumi automātiski stātos spēkā, pievienojiet ierīci datoram, izmantojot USB.

Lejupielādē Android avotu

AOSP ir mitināts vietnē Git, tāpēc saziņai ar Gitu izmantosim rīku Repo.

Vispirms mums jūsu mājas direktorijā ir jāiestata mape / bin. Linux terminālā ierakstiet šādas komandas:

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

Tagad mēs lejupielādēsim rīku Repo, tāpēc ierakstiet Linux terminālā:

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

Pēc tam, kad Repo ir instalēts, mums tagad jāizveido tukšs direktorijs, kurā glabāt jūsu darba failus. Tāpēc ierakstiet to Linux terminālā:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Tagad mēs konfigurēsim Git ar jūsu vārdu un e-pasta adresi - izmantojiet Gmail adresi, kuru regulāri pārbaudāt , pretējā gadījumā jūs nevarēsit izmantot Gerrit koda pārskatīšanas rīku.

$ git config –global user.name “Tavs vārds”
$ git config –global user.email
jūs@gmail.com

Tagad mēs teiksim Repo, lai viņš no Git izvelk jaunāko AOSP galveno manifestu:

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

Ja tas būs veiksmīgi izdarīts, jūs saņemsit ziņojumu, ka Repo ir inicializēts jūsu darba direktorijā. Jūs atradīsit arī .repo ” direktorijā klienta direktorijā. Tāpēc tagad mēs lejupielādēsim Android avotu koku ar:

$ repo sinhronizācija

Android avota veidošana

Šeit tiek parādīti šīs rokasgrāmatas sākumā minētie aparatūras binārie faili. Pārejam pie AOSP draiveri lapu un lejupielādējiet Pixel XL bināros failus operētājsistēmai Android 7.1.0 (NDE63P). Jūs vēlaties lejupielādēt gan piegādātāja attēlu, gan aparatūras komponentus. Tie nāk kā saspiesti arhīvi, tāpēc izvelciet tos uz darbvirsmas un palaidiet pašizpletes skriptu no saknes mapes. Izvēlieties bināros failus instalēt iepriekš izveidotās WORKING_DIRECTORY saknē.

Tagad ievadiet Linux terminālu:

$ padarīt laupītāju
$ source build / envsetup.sh

Tagad mēs izvēlēsimies izveidojamo mērķi, tāpēc ierakstiet:

$ pusdienas aosp_marlin-userdebug
$ setpaths
$ make –j4

Tur mēs tagad esam “uzbūvējuši” Android ROM no avota. Pārbaudīsim to emulatorā, ierakstot terminālā:

$ emulators

Tāpēc nedaudz spēlējieties emulatorā. Kā redzat, tīri vaniļas Android pieredze ir diezgan minimāla, un tāpēc ražotāji AOSP pielāgo savām vajadzībām. Tātad jūs varēja zibatmiņā šo ROM, kuru tikko izveidojām, ierīcē, ja vēlaties, taču, nepievienojot uzlabojumus, tīri vaniļas Android pieredze patiešām būtu ļoti garlaicīga.

Tātad, ko ražotāji parasti darīs ar AOSP, tas ir dakša, pievienojiet savus patentētos bināros failus, pielāgojiet lietotāja interfeisu, pievienojiet sāknēšanas logotipu utt. Ražotājs būtībā vienkārši krāso pār Android ROM krājumu, un tas būs arī jūsu nākamais mērķis .

Sekojiet jaunumiem, jo ​​šīs rokasgrāmatas otrajā daļā tiks iekļauti fonti, motīvi un sāknēšanas animācija jūsu ROM!

5 minūtes lasīts