Sådan opbygger du en brugerdefineret ROM fra Android Open Source Project

Hvis du er fortrolig med at rote din Android-telefon eller downloade brugerdefinerede ROM'er, såsom den meget populære CyanogenMod eller dens successor Lineage OS, har du måske undret dig - hvordan bygger folk disse ROM'er? Hvor meget arbejde går præcis i at udvikle en tilpasset ROM?

Denne vejledning vil gå dig igennem det grundlæggende ved at udvikle din egen brugerdefinerede Android ROM. Det skal bemærkes, at dette er en massiv virksomhed - hvis du har nul erfaring med kodning eller narre rundt i Linux-terminaler, vil du måske få viden under dit bælte, før du dyker ind i denne dybde. Men hvis du i det mindste har en grundlæggende ide om disse ting, vil jeg forsøge at forklare ting så enkelt som muligt, så du kan følge med.

Grundlæggende er det, vi laver, at downloade den røde Android kildekode (AOSP) og ændre den til vores smag. Fordi der er så mange kilder at vælge imellem for forskellige enheder, vil denne vejledning blot referere til hovedkilden kendt som AOSP (Android Open Source Project) .

Nu er det med AOSP, at den rene kildekode ikke indeholder enhedsspecifikke hardwareegenskaber. I lægmand vil hardware som dit kamera og GPU ikke virke ude af kassen, når de udvikles med AOSP. Faktisk starter din enhed ikke engang uden disse hardware-binære filer.

Hvis du udvikler til en Google-branded-telefon (Pixel, Nexus, osv.), Kan du finde hardware-binærfiler direkte fra Google, og denne vejledning vil lede dig gennem at indhente og opbygge dem i din ROM. Men hvis du udvikler en ROM til en firmanavnstelefon (Sony, Samsung osv.), Velsigne dit hjerte, fordi du er ude for en tur.

Nogle producenter har deres egne open source-projekter eller frigiver udviklingsværktøjer til vilkårlig udviklere, mens andre producenter holder et stramt låg på deres proprietære koder. Her er en kort liste over open source-projekter fra de mere populære producenter:

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

Med det ud af vejen, lad os fortsætte under antagelsen om at vi opbygger en ROM til den mest basale, vanille Android-oplevelse til en Google Pixel-enhed. Med denne viden under dit bælte vil du være i stand til at forgrene dig selv og begynde at udvikle tilpassede versioner af specifikke producentens ROM'er.

Krav til denne vejledning:

  • Android Open Source Project
  • Pixel XL-telefon eller en Android-emulator til Linux
  • 64-bit Linux-operativsystem - Ubuntu eller Linux Mint er de mest nybegynderlige distroer, mens BBQLinux blev udviklet specifikt med Android-udviklere i tankerne.
  • Python
  • En kødig computer (kompileringskode tager meget hukommelse og plads!)

Opsætning af dit byggemiljø

Lad os begynde med at oprette Android-emulatoren på din Linux-maskine. Uanset om du har en Google Pixel XL-enhed, er det altid sikkert at prøve din nye ROM på en Android-emulator, før du blinker den til din enhed. Min personlige favorit er Genymotion, så jeg vil gå dig gennem at installere den pågældende emulator. Du kan dog også tjekke denne vejledning Bedste Android-emulatorer til Windows i 2017, da de fleste også har Linux-kompatibilitet.

Gå videre til Genymotions websted, registrer en konto, bekræft den via e-mail og download den eksekverbare til dit Linux-skrivebord.

Nu åbner du en Linux-terminal og skriver:

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

Tryk på Y for at oprette Genymotion-mappen. Indtast nu i terminalen:

cd genymotion && ./genymotion

Nu vil det bede dig om at starte installationsprocessen, så fortsæt med at klikke på Næste, indtil du kommer til vinduet Tilføj virtuelle enheder. Vælg Pixel XL under Device Model option, og afslut derefter installationen. Du kan teste den virtuelle enhed ud, hvis du vil, det vil stort set være som at have en Pixel XL-telefon på dit skrivebord.

PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke her

Lad os nu oprette Python:

$ apt-get install python

Nu skal vi konfigurere Java Development Kit på din Linux-maskine. Åbn Linux-terminalen og skriv følgende kommandoer:

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

Nu skal du konfigurere Linux-systemet for at give adgang til USB-enheden. Kør følgende kode i Linux-terminalen:

Dette vil hente den nødvendige 51-android.txt-fil, der giver den førnævnte USB-enhed adgang. Åbn .txt-filen og modificer den for at medtage dit Linux-brugernavn, og læg derefter .txt-filen på følgende sted: (som rootbrugeren ). Tilslut din enhed til din computer via USB, så de nye regler automatisk træder i kraft.

Downloadning af Android-kilden

AOSP'en er vært på Git, så vi skal bruge et værktøj kaldet Repo for at kommunikere med Git.

Først skal vi opsætte en / bin-mappe i din hjemmemappe. Skriv følgende kommandoer i Linux-terminalen:

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

Nu skal vi downloade Repo-værktøjet, så skriv ind i Linux-terminalen:

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

Når Repo er installeret, skal vi nu oprette en tom mappe for at holde dine arbejdsfiler. Skriv så dette ind i Linux-terminalen:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Nu konfigurerer vi Git med dit navn og din e-mail-adresse - brug en Gmail-adresse, som du tjekker regelmæssigt, ellers kan du ikke bruge Gerrit-kodeværktøjet.

$ git config -global user.name Dit navn
$ git config-global bruger.email [email protected]

Nu skal vi fortælle Repo at trække den seneste mester manifest af AOSP fra Git:

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

Hvis det lykkes, får du en besked om, at Repo er blevet initialiseret i din arbejdskatalog. Du finder også en .repo- mappe inde i klientmappen. Så nu downloader vi Android-kildetræet med:

$ repo synkronisering

Opbygning af Android-kilden

Det er her, hvor de hardwarebinarier, der er nævnt i begyndelsen af ​​denne vejledning, kommer i spil. Lad os gå over til AOSP-driversiden og downloade Pixel XL-binarierne til Android 7.1.0 (NDE63P). Du vil downloade både sælgerbilledet og hardwarekomponenterne. Disse kommer som komprimerede arkiver, så tag dem ud til dit skrivebord og kør det selvuddragende script fra rodmappen. Vælg at installere binærerne til roden af ​​WORKING_DIRECTORY, som vi oprettede tidligere.

Indtast nu i din Linux-terminal:

$ gøre clobber
$ source build / envsetup.sh

Nu vælger vi målet at bygge, så skriv:

$ frokost aosp_marlin-userdebug
$ setpaths
$ make -j4

Der har vi nu bygget en Android ROM fra kilde. Så lad os teste det i emulatoren ved at skrive ind i terminalen:

$ emulator

Så spil rundt i emulatoren en smule. Som du kan se, er en ren vanilje Android-oplevelse ret minimal, og det er derfor, producenterne tilpasser AOSP'en til deres behov. Så du kan blinke denne ROM, vi netop har bygget til din enhed, hvis du ville have det, men uden at tilføje nogen forbedringer, ville en ren vanille Android oplevelse være en meget kedelig ting.

Så hvilke producenter vil typisk gøre med AOSP'en er gaffel, tilføj deres egne proprietære binære filer, tilpasse brugergrænsefladen, tilføj et boot-logo osv. Producentens mål er bare at male over lageret Android ROM, og det vil også være dit næste mål. .

Bliv afstemt, som den anden del af denne vejledning vil gå igennem tilføje skrifttyper, temaer og en boot animation til din ROM!

PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke her

Facebook Twitter Google Plus Pinterest