Oppaat

Kuinka luoda mukautettu ROM Android Open Source Project -projektista

Jos olet perehtynyt Android-puhelimesi juurtumiseen tai mukautettujen ROM-levyjen lataamiseen, kuten erittäin suosittu CyanogenMod tai sen seuraaja Lineage OS, olet ehkä miettinyt - miten ihmiset rakentavat nämä ROM-levyt? Kuinka paljon työtä räätälöidyn ROM: n kehittämiseen menee?

Tässä oppaassa perehdytään oman mukautetun Android-ROM-levyn kehittämisen perusteisiin. On huomattava, että tämä on massiivinen yritys - jos sinulla ei ole kokemusta koodaamisesta tai huijaamisesta Linux-päätelaitteissa, saatat haluta saada jonkin verran tietoa vyösi ennen sukellusta tähän syvään päähän. Mutta jos sinulla on ainakin perusajatus noista asioista, yritän selittää asiat mahdollisimman yksinkertaisesti, jotta voit seurata mukana.

Pohjimmiltaan teemme lataamalla raaka Android-lähdekoodi (AOSP) ja sen muokkaaminen mieleisekseen. Koska eri laitteille on valittavissa niin monta lähdettä, tässä oppaassa viitataan yksinkertaisesti hallita 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" kehittäessäsi 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-levyä tuotenimipuhelimelle (Sony, Samsung jne.), Siunaa sydämesi, koska olet kyydissä.

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ä ei ole mahdollista, jatketaan olettaen, että rakennamme ROM-levyn perustavanlaatuisimmalle vanilja-Android-kokemukselle Google Pixel -laitteelle. Tämän tietosi avulla voit aloittaa itsenäisyyden 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 on kehitetty 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 tutustua myös tähän oppaaseen "Parhaat Android-emulaattorit", koska useimmilla niistä on myös Linux-yhteensopivuus.

Siirry Genymotion-verkkosivustolle, rekisteröi tili, vahvista 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 tiedostonimessä olevalla versionumerolla)

./genymotion-xxxxxx.bin

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

cd genymotion && ./genymotion

Nyt se pyytää sinua aloittamaan asennusprosessin, joten napsauta vain 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 //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: n pääilmoituksen Gitiltä:

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

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

$ repo sync

Android-lähteen rakentaminen

Tässä tulee esiin tämän oppaan alussa mainitut laitteiston binäärit. Siirry AOSP-ohjainsivulle 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ällesi ja suorita itsepurkautuva komentosarja juurikansiosta. Valitse asennat binäärit aiemmin luomamme WORKING_DIRECTORY-juurelle.

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 haarukka, lisätä omat omat binäärit, mukauttaa käyttöliittymää, lisätä käynnistyslogo jne. Valmistaja pohjimmiltaan vain maalaa varastossa olevan ROM-levyn, ja se on myös seuraava tavoitteesi .

Pysy kuulolla, koska tämän oppaan toinen osa käy läpi fonttien, teemojen ja käynnistysanimaation lisäämisen ROM-levyllesi!

$config[zx-auto] not found$config[zx-overlay] not found