hvis du er fortrolig med rode din Android-telefon eller hente brugerdefinerede ROM ‘er, såsom den meget populære CyanogenMod eller dens efterfølger Lineage OS, du måske har spekuleret – hvordan folk bygge disse rom’ er? Hvor meget arbejde går nøjagtigt til at udvikle en tilpasset ROM?
denne guide vil lede dig gennem det grundlæggende i 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 Linuks terminaler, kan du få en vis viden under dit bælte, før du dykker ned i denne dybe ende. Men hvis du i det mindste har en grundlæggende ide om disse ting, vil jeg forsøge at forklare tingene så enkelt som muligt, så du kan følge med.
dybest set, hvad vi laver er at hente den rå Android kildekode (AOSP) og ændre det til vores smag. Fordi der er så mange kilder at vælge imellem til forskellige enheder, vil denne vejledning simpelthen henvise til masterkilden kendt som AOSP (Android Open Source Project).
nu er det ved AOSP, at den rene kildekode ikke indeholder enhedsspecifikke udstyrsegenskaber. I lægmandssprog fungerer udstyr som dit kamera og GPU ikke “ud af kassen”, når du udvikler med AOSP. Faktisk starter din enhed ikke engang uden disse binære udstyr.
hvis du udvikler til en Google-mærket telefon, kan du finde de binære filer direkte fra Google, og denne vejledning vil lede dig gennem at få og bygge dem ind i din ROM. Men hvis du udvikler en ROM til en brandtelefon (Sony, Samsung osv.)… godt, velsign dit hjerte, fordi du er i en tur.
nogle producenter har deres egne open source-projekter eller frigiver udviklingsværktøjer til kommende 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 verden
Lenovo Support
Motorola Developers
med det ude af vejen, lad os fortsætte under den antagelse, at vi bygger en ROM til den mest basale, vanilje Android-oplevelse, til en Google-enhed. Med denne viden under dit bælte, vil du være i stand til at forgrene sig på egen hånd og begynde at udvikle tilpassede versioner af specifikke producentens Rom ‘ er.
krav til denne vejledning:
- Android Open Source-projekt
- Android – telefon eller en Android-emulator til Android
- 64-bit operativsystem-Ubuntu eller Mint er de mest nybegyndervenlige distroer, mens Microsoft blev udviklet specifikt med Android-udviklere i tankerne.
- Python
- en velnæret computer (kompilering kode tager en masse hukommelse og plads!)
opsætning af dit Build-miljø
lad os begynde med at konfigurere Android-emulatoren på din Android-maskine. Uanset om du har en Google-enhed, er det altid sikrest 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 leder dig gennem installationen af den pågældende emulator. Du kan dog også tjekke denne vejledning” bedste Android-emulatorer”, da de fleste af dem også har linuk-Kompatibilitet.
gå over til Genymotions hjemmeside, registrer en konto, bekræft den via e-mail, og hent den eksekverbare fil til din computer.
åbn nu en terminal, og skriv:
Chmod +genymotion.bin (Erstat med versionsnummeret i filnavnet)
.- genymotion.bin
tryk på Y for at oprette Genymotion-mappen. Indtast nu terminalen:
cd genymotion &&./ genymotion
nu vil det bede dig om at starte installationsprocessen, så bliv ved med at klikke på Næste, indtil du kommer til vinduet Tilføj virtuelle enheder. Vælg “enhed Model option”, og derefter fuldføre installationen. Du kan teste den virtuelle enhed ud, hvis du vil, det vil dybest set være som at have en telefon på dit skrivebord.
lad os nu oprette Python:
$ apt-get install python
nu skal vi opsætte Java-Udviklingssættet på din computer. Åbn terminalen, og skriv følgende kommandoer:
$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk
nu skal du konfigurere systemet for at give adgang til USB-enheden. Kør følgende kode i linieterminalen:
dette vil hente den nødvendige 51-android.denne fil giver den førnævnte USB-enhed adgang. Åbn .rediger filen, og rediger den, så den indeholder dit brugernavn, og placer derefter .tekstfil på følgende placering: (som root-bruger). Tilslut nu din enhed til din computer via USB, så de nye regler automatisk træder i kraft.
Hent Android-kilden
AOSP er hostet på Git, så vi skal bruge et værktøj kaldet Repo til at kommunikere med Git.
først skal vi konfigurere en /bin-mappe i din hjemmemappe. Skriv følgende kommandoer i linuksterminalen:
$ mkdir ~ / bin
$ PATH=~ / bin:$PATH
nu henter vi Repo-værktøjet, så skriv ind i linuksterminalen:
$ curl https://storage.googleapis.com/git-repo-downloads/repo> ~/bin/repo
$ chmod a+~/bin/repo
når Repo er installeret, skal vi nu oprette en tom mappe til at holde dine arbejdsfiler.
$ mkdir ARBEJDER_DIRECTORY
$ cd ARBEJDER_DIRECTORY
nu konfigurerer vi Git med dit navn og din e – mail-adresse-brug en Gmail-adresse, som du kontrollerer regelmæssigt, ellers kan du ikke bruge Gerrit-kodeanmeldelsesværktøjet.
$ git config-global bruger.navn “Dit navn”
$ git config –global bruger.e-mail [email protected]
nu vil vi fortælle Repo at trække den nyeste master manifest af AOSP fra Git:
$ repo init-u https://android.googlesource.com/platform/manifest
hvis det gøres med succes, vil du modtage en meddelelse om, at Repo er blevet initialiseret i din arbejdsmappe. Du finder også en”.repo ” mappe inde i klientmappen. Så nu henter vi Android-kildetræet med:
$ repo sync
opbygning af Android-kilden
det er her, hvor de binære udstyr, der er nævnt i begyndelsen af denne vejledning, kommer i spil. Lad os gå over til siden AOSP drivere og hente binære filer til Android 7.1.0 (NDE63P). Du ønsker at hente både kreditorbilledet og udstyrets komponenter. Disse kommer som komprimerede arkiver, så udpak dem til dit skrivebord og kør det selvudpakkende script fra rodmappen. Vælg at installere de binære filer til roden af den ARBEJDS_DIRECTORY, vi oprettede tidligere.
skriv nu ind i din terminal:
$ make clobber
$ source build/envsetup.sh
nu vælger vi målet at bygge, så skriv:
$ lunch aosp_marlin-userdebug
$ setpaths
$ make –j4
der har vi nu “bygget” en Android ROM fra kilden. Så lad os teste det i emulatoren ved at skrive ind i terminalen:
$ emulator
så spil lidt i emulatoren. Som du kan se, er en ren vanilje Android-oplevelse ret minimal, og det er derfor, producenterne tilpasser AOSP til deres behov. Så du kunne blinke denne ROM, vi lige har bygget til din enhed, hvis du ville, men uden at tilføje nogen forbedringer, ville en ren vanilje Android-oplevelse faktisk være en meget kedelig ting.
så hvad producenterne typisk vil gøre med AOSP er gaffel det, tilføje deres egne proprietære binære filer, tilpasse brugergrænsefladen, tilføje et boot logo osv. Producentens dybest set bare male over bestanden Android ROM, og så vil være dit næste mål så godt.
Stay tuned, som den anden del af denne vejledning vil gå gennem tilføje skrifttyper, temaer og en boot animation til din ROM!