Kuinka luoda mukautettu ROM Android Open Source Project -projektista

lähde tunnetaan nimellä AOSP (Android Open Source Project) .



Nyt AOSP: n asia on puhdas lähdekoodi ei sisälly laitekohtaiset laitteistot. Yleisemmin sanottuna kamerasi ja grafiikkasuorittimesi, kuten kamerasi ja grafiikkasuoritin, eivät toimi 'heti laatikosta', kun niitä kehitetään AOSP: n kanssa. Itse asiassa laitteesi ei edes käynnisty ilman näitä laitteiston binäärejä.

Jos kehität Google-tuotemerkillä varustettua puhelinta (Pixel, Nexus jne.), Löydät laitteiston binäärit suoraan Googlelta , ja tämä opas opastaa sinua hankkimaan ja rakentamaan ne ROM-levyllesi. Jos kuitenkin kehität ROM-numeroa tuotenimelliselle puhelimelle (Sony, Samsung jne.), Siunaa sydämesi, koska olet matkalle.



Jonkin verran valmistajilla on omat avoimen lähdekoodin projektinsa tai julkaisukehitystyökalut potentiaalisille kehittäjille, kun taas muut valmistajat pitävät tiukasti kiinni omissa koodeissaan. Tässä on lyhyt luettelo suosituimpien valmistajien avoimen lähdekoodin projekteista:



Samsungin avoimen lähdekoodin julkaisukeskus
Sonyn kehittäjämaailma
Lenovon tuki
Huawei avoimen lähdekoodin julkaisukeskus
Motorola-kehittäjät



Kun tämä on poissa, jatketaan olettaen, että rakennamme ROM-levyä perustavanlaatuisimmalle vanilja-Android-kokemukselle Google Pixel -laitteelle. Tämän tietosi avulla voit aloittaa itsenäisen haarautumisen ja alkaa kehittää räätälöityjä versioita tietyn valmistajan ROM-levyistä.

Tämän oppaan vaatimukset:

  • Androidin avoimen lähdekoodin projekti
  • Pixel XL -puhelin tai Android-emulaattori Linuxille
  • 64-bittinen Linux-käyttöjärjestelmä - Ubuntu tai Linux Mint ovat kaikkein aloittelijaystävällisimpiä distroja, kun taas BBQLinux kehitettiin erityisesti Android-kehittäjiä ajatellen.
  • Python
  • Raikas tietokone (koodin kääntäminen vie paljon muistia ja tilaa!)

Rakennusympäristön määrittäminen

Aloitetaan asettamalla Android-emulaattori Linux-koneellesi. Riippumatta siitä, onko sinulla Google Pixel XL -laite, on aina turvallisinta kokeilla uutta ROM-levyäsi Android-emulaattorilla ennen vilkkuu se laitteellesi. Oma suosikkini on Genymotion, joten opastan sinut asentamaan kyseisen emulaattorin. Voit kuitenkin lukea myös tämän oppaan “ Parhaat Android-emulaattorit ”, Koska useimmilla niistä on myös Linux-yhteensopivuus.

Pään yli Genymotion-verkkosivusto , rekisteröi tili, tarkista se sähköpostitse ja lataa suoritettava tiedosto Linux-työpöydällesi.



Avaa nyt Linux-pääte ja kirjoita:

Chmod + x genymotion-xxxxx.bin (korvaa xxxx tiedostonimellä olevan versionumerolla)
./genymotion-xxxxxx.bin

Lehdistö JA luoda Genymotion-hakemisto. Kirjoita nyt päätelaitteeseen:

cd genymotion && ./genymotion

Nyt se pyytää sinua aloittamaan asennusprosessin, joten jatka napsauttamalla Seuraava, kunnes pääset Lisää virtuaaliset laitteet -ikkunaan. Valitse Laitemalli-vaihtoehdosta ”Pixel XL” ja suorita sitten asennus loppuun. Voit testata virtuaalilaitteen, jos haluat, se on pohjimmiltaan kuin Pixel XL -puhelin työpöydälläsi.

Määritetään nyt Python:

$ apt-get install python

Nyt meidän on asennettava Java Development Kit Linux-koneellesi. Avaa Linux-pääte ja kirjoita seuraavat komennot:

$ sudo apt-get -päivitys
$ sudo apt-get install openjdk-8-jdk

Nyt sinun on määritettävä Linux-järjestelmä sallimaan USB-laitteen käyttö. Suorita seuraava koodi Linux-päätelaitteessa:

Tämä lataa vaaditun 51-android.txt-tiedoston, joka sallii edellä mainitun USB-laitteen käytön. Avaa .txt-tiedosto ja muokkaa sitä sisällyttämällä Linux-käyttäjänimesi ja aseta sitten .txt-tiedosto seuraavaan sijaintiin: (kuten pääkäyttäjä ). Liitä nyt laite tietokoneeseesi USB: n kautta, jotta uudet säännöt tulevat voimaan automaattisesti.

Ladataan Android-lähdettä

AOSP isännöi Gitissä, joten aiomme käyttää Repo-nimistä työkalua kommunikoimaan Gitin kanssa.

Ensin meidän on määritettävä / bin-kansio kotihakemistossasi. Kirjoita seuraavat komennot Linux-päätelaitteeseen:

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

Nyt lataamme Repo-työkalun, joten kirjoita Linux-päätelaitteeseen:

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

Kun Repo on asennettu, meidän on nyt luotava tyhjä hakemisto työtiedostojesi säilyttämiseksi. Joten kirjoita tämä Linux-päätelaitteeseen:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Nyt määritämme Gitin nimesi ja sähköpostiosoitteesi kanssa - käytä säännöllisesti tarkistamaasi Gmail-osoitetta , muuten et voi käyttää Gerrit-koodin tarkistustyökalua.

$ git config –global user.name “Nimesi”
$ git config –global user.email
sinä@gmail.com

Nyt käskemme Repoa vetämään uusimman AOSP-pääilmoituksen Gitiltä:

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

Jos se onnistuu, saat viestin, että Repo on alustettu työhakemistoon. Löydät myös .repo ” asiakaskansion hakemistossa. Joten nyt lataamme Android-lähdepuun seuraavilla tavoilla:

$ repo sync

Android-lähteen rakentaminen

1

Tässä tulee esiin tämän oppaan alussa mainitut laitteistokansiot. Siirrytään AOSP-ohjaimet -sivun ja lataa Pixel XL -binaaritiedostot Android 7.1.0: lle (NDE63P). Haluat ladata sekä toimittajan kuvan että laitteistokomponentit. Nämä tulevat pakattuina arkistoina, joten pura ne työpöydälle ja suorita itsepurkautuva komentosarja juurikansiosta. Valitse asentaa binäärit aiemmin luomamme WORKING_DIRECTORY-juuriin.

Kirjoita nyt Linux-päätelaitteeseesi:

$ tee clobber
$ source build / envsetup.sh

Nyt valitsemme rakennettavan kohteen, joten kirjoita:

$ lounas aosp_marlin-userdebug
$ setpaths
$ make –j4

Siellä olemme nyt 'rakentaneet' Android-ROM: n lähteestä. Testataan siis emulaattorissa kirjoittamalla päätelaitteeseen:

$ emulaattori

Joten leikkiä emulaattorissa vähän. Kuten näette, puhtaasti vaniljainen Android-kokemus on melko vähäinen, ja siksi valmistajat mukauttavat AOSP: n tarpeisiinsa. Joten sinä voisi salama tämä juuri rakentamasi ROM-levy laitteellesi, jos haluat, mutta lisäämättä parannuksia, puhtaasti vaniljainen Android-kokemus olisi todella tylsää.

Joten mitä valmistajat yleensä tekevät AOSP: n kanssa, on sen haarukka, lisätä omat omat binäärit, mukauttaa käyttöliittymä, lisätä käynnistyslogo jne. Valmistajan periaatteessa vain maalaa varastoidun Android-ROM: n, ja niin se on myös seuraava tavoitteesi .

Pysy kuulolla, koska tämän oppaan toinen osa käy läpi lisäämällä fontteja, teemoja ja käynnistysanimaatiota ROM-levyllesi!

5 minuuttia luettu