Hvordan Bygge En Tilpasset ROM Fra Android Open Source Project

Hvis du er kjent med å rote Din Android – telefon eller laste ned tilpassede Rom, for eksempel den svært populære CyanogenMod ELLER dens etterfølger Lineage OS, har du kanskje lurt på-hvordan bygger folk disse Romene? Hvor mye arbeid går akkurat inn i å utvikle en tilpasset ROM?

denne guiden vil lede deg gjennom det grunnleggende om å utvikle din egen android ROM. Det bør bemerkes at dette er et massivt foretak – hvis du har null erfaring med koding eller tull I Linux-terminaler, vil du kanskje få litt kunnskap under beltet ditt før du dykker inn i denne dype enden. Men hvis du har minst en grunnleggende ide om disse tingene, vil jeg prøve å forklare ting så enkelt som mulig, slik at du kan følge med.

I Utgangspunktet hva vi gjør er å laste ned rå Android kildekoden (AOSP) og endre det til vår smak. Fordi det er så mange kilder å velge mellom for forskjellige enheter, vil denne veiledningen bare referere til hovedkilden kjent som Aosp (Android Open Source Project).

nå er tingen OM AOSP at den rene kildekoden ikke inkluderer enhetsspesifikke maskinvareegenskaper. I lekmannens vilkår vil maskinvare som kamera og GPU ikke fungere «ut av boksen» når du utvikler MED AOSP. Faktisk vil enheten ikke engang starte opp uten disse maskinvarebinærene.

hvis du utvikler For En Google-merket telefon (Pixel, Nexus, etc), kan du finne maskinvarebinærene direkte fra Google, og denne veiledningen vil lede deg gjennom å skaffe og bygge dem inn I ROM-EN din. Men hvis du utvikler EN ROM for en merkevaretelefon( Sony, Samsung, etc) … vel, velsigne ditt hjerte, fordi du er inne for en tur.

Noen produsenter har sine egne åpen kildekode-prosjekter eller slipper utviklingsverktøy for potensielle utviklere, mens andre produsenter holder et tett lokk på sine proprietære koder. Her er en kort liste over åpen kildekode-prosjekter fra de mer populære produsentene:

Samsung Open Source Release Center
Sony Developer World
Lenovo Support
Huawei Open Source Release Center
Motorola Developers

Med det ut av veien, la oss fortsette under antagelsen om at vi bygger EN ROM for den mest grunnleggende, vanilje Android-opplevelsen, For En Google Pixel-enhet. Med denne kunnskapen under beltet, vil du være i stand til å armen ut på egen hånd og begynne å utvikle tilpassede versjoner av spesifikke produsentens Rom.

Krav til Denne Veiledningen:

  • Android Åpen Kildekode
  • Pixel XL telefon eller En Android emulator For Linux
  • 64 – bit Linux Operativsystem-Ubuntu Eller Linux Mint er de mest nybegynner-vennlig distroer, Mens BBQLinux ble utviklet spesielt Med Android utviklere i tankene.
  • Python
  • en kraftig datamaskin (kompileringskode tar mye minne og plass!)

Sette Opp Byggemiljøet

La oss begynne med Å sette Opp Android-emulatoren På Linux-maskinen din. Uansett om Du har En Google Pixel XL-enhet, er det alltid tryggest å prøve din nye ROM på En Android-emulator før du blinker den til enheten. Min personlige favoritt Er Genymotion, så jeg vil gå deg gjennom å installere den aktuelle emulatoren. Du kan imidlertid også sjekke ut denne veiledningen «Beste Android-Emulatorer», da de fleste også har Linux-kompatibilitet.

Gå over Til Genymotion-nettstedet, registrer en konto, bekreft den via e-post, og last ned kjørbar til Linux-skrivebordet ditt.

åpne Nå En Linux-terminal, og skriv:

Chmod + x genymotion-xxxxx.bin (erstatt xxxx med versjonsnummeret i filnavnet)
./ genymotion-xxxxxx.bin

Trykk Y For å opprette Genymotion-katalogen. Skriv inn terminalen:

cd genymotion & &./ genymotion

nå vil den be deg om å starte installasjonen, så bare holde klikke Neste til du kommer til Vinduet Legg Til Virtuelle Enheter. Velg «Pixel XL» under Enhetsmodell, og fullfør deretter installasjonen. Du kan teste den virtuelle enheten ut hvis du vil, det vil i utgangspunktet være som å ha En Pixel XL-telefon på skrivebordet ditt.

La oss nå sette Opp Python:

$ apt-get install python

nå må Vi sette Opp Java Development Kit på Linux-maskinen din. Åpne Linux-terminalen og skriv inn følgende kommandoer:

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

nå må du konfigurere Linux-systemet for Å tillate USB-enhetstilgang. Kjør følgende kode i Linux-terminalen:

dette vil laste ned den nødvendige 51-android.txt-fil som tillater den NEVNTE USB-enheten tilgang. Åpne den .txt fil og endre den til å inkludere Linux brukernavn, deretter plassere .txt-fil på følgende sted: (som rotbruker). Koble nå enheten til datamaskinen via USB for at de nye reglene automatisk skal tre i kraft.

Laster Ned Android-Kilden

AOSP er vert På Git,så vi skal bruke et verktøy kalt Repo for å kommunisere Med Git.

først må vi sette opp en / bin-mappe i Hjemmekatalogen din. Skriv inn følgende kommandoer i Linux-terminalen:

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

nå laster vi Ned Repo-verktøyet, så skriv Inn Linux-terminalen:

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

Etter At Repo er installert, må vi nå opprette en tom katalog for å holde arbeidsfilene dine. Så skriv dette inn I Linux-terminalen:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

nå konfigurerer Vi Git med ditt navn og e – postadresse-bruk En Gmail-adresse som du sjekker regelmessig, ellers vil du ikke kunne bruke Gerrit code-review-verktøyet.

$ git config-global bruker.navn «Ditt Navn»
$ git config –global bruker.e-post [email protected]

nå forteller Vi Repo å trekke det siste master manifestet AV AOSP Fra Git:

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

hvis Det gjøres vellykket, vil Du motta en melding Om At Repo er initialisert i arbeidskatalogen din. Du vil også finne en «.repo » katalog inne i klientkatalogen. Så nå laster vi Ned Android-kildetreet med:

$ repo sync

Bygg Android-Kilden

dette er hvor maskinvarebinærene nevnt i begynnelsen av denne veiledningen kommer inn i spill. La oss gå over TIL aosp drivers-siden og laste Ned Pixel XL binaries For Android 7.1.0 (NDE63P). Du vil laste ned både leverandøravbildningen og maskinvarekomponentene. Disse kommer som komprimerte arkiver, så trekk dem ut på skrivebordet og kjør det selvutpakkende skriptet fra rotmappen. Velg å installere binærfilene til roten TIL WORKING_DIRECTORY vi opprettet tidligere.

skriv nå Inn I Linux-terminalen din:

$ gjør clobber
$ kilde build/envsetup.sh

nå velger vi målet å bygge, så skriv:

$ lunsj aosp_marlin-userdebug
$ setpaths
$ make-j4

der har vi nå «bygget» En Android ROM fra kilde. Så la oss teste det i emulatoren, ved å skrive inn i terminalen:

$ emulator

så spill litt i emulatoren. Som du kan se, er en ren vanilje Android-opplevelse ganske minimal, og derfor tilpasser produsentene AOSP til deres behov. Så du kan blinke DENNE ROMEN vi nettopp bygget til enheten din hvis du ville, men uten å legge til noen forbedringer, ville en ren vanilje Android-opplevelse være en veldig kjedelig ting.

så hva produsenter vanligvis vil gjøre MED AOSP, er gaffel det, legge til egne proprietære binærfiler, tilpasse BRUKERGRENSESNITTET, legge til en oppstartslogo, etc. Produsentens i utgangspunktet bare male over lager Android ROM, og så vil det også være ditt neste mål.

Følg med, da den andre delen av denne veiledningen vil gå gjennom å legge til skrifter, temaer og en oppstartsanimasjon til ROM-en din!

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.