Kuidas luua Androidi avatud lähtekoodiga projektist kohandatud ROM

allikas tuntud kui AOSP (Androidi avatud lähtekoodiga projekt) .



Nüüd on AOSP-i puhul see, et puhas lähtekood ei hõlma seadmepõhised riistvaraobjektid. Võlakirjades öeldes ei tööta riistvara nagu teie kaamera ja graafikaprotsessor AOSP-ga arendamisel 'karbist väljas'. Tegelikult ei käivitu teie seade ilma nende riistvara kahendfailideta.

Kui arendate Google'i kaubamärgiga telefoni (Pixel, Nexus jne), leiate riistvara kahendfailid otse Google'ist , ja see juhend aitab teil neid ROM-i hankida ja sisse ehitada. Kui aga arendate ROM-i kaubamärgiga telefoni jaoks (Sony, Samsung jne), siis õnnistage oma südant, sest teid ootab ees sõit.



Mõned tootjatel on oma avatud lähtekoodiga projektid või potentsiaalsetele arendajatele mõeldud arendusvahendid, samas kui teised tootjad hoiavad oma varaliste koodide suhtes tihedat kaant. Siin on lühike nimekiri populaarsemate tootjate avatud lähtekoodiga projektidest:



Samsungi avatud lähtekoodiga väljalaskekeskus
Sony arendajamaailm
Lenovo tugi
Huawei avatud lähtekoodiga väljalaskekeskus
Motorola arendajad



Jätkame selle eeldusega, et ehitame Google Pixeli seadme jaoks ROM-i kõige elementaarsema vanilli Androidi kasutuskogemuse jaoks. Kui olete selle teadmise all oma vöö all, saate iseseisvalt hargneda ja hakata välja töötama konkreetse tootja ROM-ide kohandatud versioone.

Nõuded sellele juhendile:

  • Androidi avatud lähtekoodiga projekt
  • Pixel XL telefon või Androidi emulaator Linuxile
  • 64-bitine Linuxi operatsioonisüsteem - Ubuntu või Linux Mint on kõige algajale sõbralikumad distrod, samas kui BBQLinux töötati välja spetsiaalselt Androidi arendajaid silmas pidades.
  • Python
  • Lihvikas arvuti (koodi koostamine võtab palju mälu ja ruumi!)

Ehituskeskkonna seadistamine

Alustame Android-emulaatori seadistamisega oma Linuxi masinasse. Sõltumata sellest, kas teil on Google Pixel XL seade, on alati kõige ohutum proovida oma uut ROM-i Android-emulaatoris enne teie seadmesse vilkuma. Minu isiklik lemmik on Genymotion, nii et tutvustan teile konkreetse emulaatori installimist. Siiski võite vaadata ka seda juhendit “ Parimad Android-emulaatorid ”, Kuna enamikul neist on ka Linuxi ühilduvus.

Pea üle Genymotioni veebisait , registreerige konto, kontrollige seda e-posti teel ja laadige käivitatav fail alla oma Linuxi töölauale.



Nüüd avage Linuxi terminal ja tippige:

Chmod + x genymotion-xxxxx.bin (asendage xxxx failinimes oleva versiooninumbriga)
./genymotion-xxxxxx.bin

Vajutage JA kataloogi Genymotion loomiseks. Nüüd tippige terminali:

cd genymotion && ./genymotion

Nüüd palutakse teil installiprotsess alustada, nii et klõpsake lihtsalt nuppu Edasi, kuni jõuate aknasse Virtuaalseadmete lisamine. Valige suvandi Seadmemudel alt „Pixel XL” ja lõpetage installimine. Soovi korral saate virtuaalseadet välja testida, see on põhimõtteliselt sama, kui töölaual oleks telefon Pixel XL.

Seadistame nüüd Pythoni:

$ apt-get install python

Nüüd peame teie Linuxi masinas seadistama Java arenduskomplekti. Avage Linuxi terminal ja tippige järgmised käsud:

$ sudo apt-get värskendus
$ sudo apt-get install openjdk-8-jdk

Nüüd peate USB-seadmele juurdepääsu lubamiseks konfigureerima Linuxi süsteemi. Käivitage Linuxi terminalis järgmine kood:

See laadib alla vajaliku 51-android.txt-faili, mis võimaldab juurdepääsu ülalmainitud USB-seadmele. Avage .txt-fail ja muutke seda oma Linuxi kasutajanime lisamiseks, seejärel asetage .txt-fail järgmisse asukohta: (nagu juurkasutaja ). Nüüd ühendage seade USB-ühenduse kaudu arvutiga, et uued reeglid automaatselt jõustuksid.

Androidi allika allalaadimine

AOSP on hostitud Gitis, seega kasutame Gitiga suhtlemiseks tööriista nimega Repo.

Kõigepealt peame teie kodukataloogis seadistama kausta / bin. Sisestage Linuxi terminali järgmised käsud:

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

Nüüd laadime alla tööriista Repo, nii et sisestage Linuxi terminali:

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

Pärast seda, kui Repo on installitud, peame nüüd teie tööfailide hoidmiseks looma tühja kataloogi. Nii sisestage see Linuxi terminali:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Nüüd konfigureerime Giti teie nime ja e-posti aadressiga - kasutage regulaarselt kontrollitavat Gmaili aadressi , muidu ei saa te kasutada Gerrit koodi ülevaatamise tööriista.

$ git config –global user.name “Teie nimi”
$ git config –global user.email
sina@gmail.com

Nüüd ütleme Repole, et ta tõmbaks Gitilt uusima AOSP-i peamanifesti:

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

Kui see õnnestub, saate teate, et Repo on teie töökataloogis lähtestatud. Leiate ka .repo ” kliendi kataloogis olev kataloog. Nüüd laadime Androidi allikapuu alla koos järgmisega:

$ repo sünkroonimine

Androidi allika loomine

Siin tulevad mängu selle juhendi alguses mainitud riistvara kahendfailid. Läheme üle AOSP draiverid lehel ja laadige alla Pixel XL kaustafailid operatsioonisüsteemile Android 7.1.0 (NDE63P). Soovite alla laadida nii hankija pildi kui ka riistvarakomponendid. Need on tihendatud arhiivid, nii et ekstraktige need oma töölauale ja käivitage isekaevatav skript juurkaustast. Valige, kas installite kahendfailid varem loodud WORKING_DIRECTORY juure.

Nüüd tippige oma Linuxi terminali:

$ teeb kloberit
$ source build / envsetup.sh

Nüüd valime ehitatava sihtmärgi, nii et tippige:

$ lunch aosp_marlin-userdebug
$ setpaths
$ make –j4

Seal oleme nüüd allikast 'ehitanud' Android-ROMi. Nii et proovime seda emulaatoris, sisestades terminali:

$ emulaator

Nii et mängige emulaatoris natuke ringi. Nagu näete, on puhtalt vanilje Androidi kogemus üsna minimaalne ja seetõttu kohandavad tootjad AOSP-i oma vajadustele vastavalt. Nii et sina võiks välgutage seda äsja ehitatud ROM-i teie seadmesse, kui soovite, kuid ilma täiendusi lisamata oleks puhtalt vanilje Androidi kogemus tõesti igav asi.

Mida tootjad tavaliselt AOSP-ga teevad, on see kahvli abil, lisades oma varalised binaarfailid, kohandades kasutajaliidese, lisades alglaadimislogot jne. Tootja värvib põhimõtteliselt lihtsalt Android-ROMi varud ja nii on see ka teie järgmine eesmärk .

Püsige lainel, kuna selle juhendi teine ​​osa läbib teie ROM-ile fontide, teemade ja alglaadimise animatsiooni lisamise!

5 minutit loetud