Hur man bygger en anpassad ROM från Android Open Source Project

Om du är bekant med att rota din Android-telefon eller ladda ner egna ROM-skivor, till exempel den mycket populära CyanogenMod eller dess efterföljare Lineage OS, kanske du har undrat - hur bygger man dessa ROM-skivor? Hur mycket arbete går exakt till att utveckla en anpassad ROM?

Den här guiden kommer att gå dig igenom grunderna för att utveckla din egen anpassade Android ROM. Det bör noteras att detta är ett enormt företag - om du har noll erfarenhet av kodning eller lurar runt i Linux-terminaler, kanske du vill få lite kunskap under ditt bälte innan du dyker in i det här djupet. Men om du har åtminstone en grundläggande uppfattning om dessa saker ska jag försöka förklara saker så enkelt som möjligt så att du kan följa med.

I grund och botten vad vi gör laddar ner den rätta Android källkoden (AOSP) och ändrar det enligt vår smak. Eftersom det finns så många källor att välja mellan för olika enheter, kommer den här guiden bara att referera till huvudkällan som kallas AOSP (Android Open Source Project) .

Nu är det med AOSP att den rena källkoden inte innehåller enhetsspecifik hårdvara. Med lekman kommer hårdvaran som din kamera och GPU inte att fungera ur lådan när du utvecklar med AOSP. Faktum är att din enhet inte ens startar utan dessa binära maskinvaror.

Om du utvecklar för en Google-märkt telefon (Pixel, Nexus, etc) kan du hitta maskinbinarierna direkt från Google, och den här guiden kommer att leda dig genom att skaffa och bygga dem i din ROM. Men om du utvecklar en ROM för en varumärkes telefon (Sony, Samsung, etc), välsigna ditt hjärta, för att du är på väg.

Vissa tillverkare har egna open source-projekt eller släpper ut utvecklingsverktyg för utvecklare, medan andra tillverkare håller ett tätt lock på sina egna koder. Här är en kort lista över open source-projekt från de mer populära tillverkarna:

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

Med det ur vägen, låt oss fortsätta under antagandet att vi bygger en ROM för den mest grundläggande, vanilj Android-upplevelsen, för en Google Pixel-enhet. Med den här kunskapen under ditt bälte kommer du att kunna förgrena sig på egen hand och börja utveckla anpassade versioner av specifika tillverkarens ROM-skivor.

Krav på denna handbok:

  • Android Open Source Project
  • Pixel XL-telefon eller en Android-emulator för Linux
  • 64-bitars Linux-operativsystem - Ubuntu eller Linux Mint är de nybörjare vänliga distroserna, medan BBQLinux utvecklades specifikt med Android-utvecklare i åtanke.
  • Pytonorm
  • En biffig dator (kompileringskod tar mycket minne och utrymme!)

Ställa in din byggmiljö

Låt oss börja med att installera Android-emulatorn på din Linux-maskin. Oavsett huruvida du har en Google Pixel XL-enhet, är det alltid säkert att prova din nya ROM på en Android-emulator innan du blinkar den till enheten. Min personliga favorit är Genymotion, så jag går dig genom att installera den speciella emulatorn. Du kan dock även kolla in den här guiden Bästa Android-emulatorer för Windows år 2017, eftersom de flesta också har Linux-kompatibilitet.

Gå vidare till Genymotions webbplats, registrera ett konto, verifiera det via e-post och hämta det körbara till ditt Linux-skrivbord.

Öppna nu en Linux-terminal och skriv:

Chmod + x genymotion-xxxxx.bin (ersätt xxxx med versionsnumret i filnamnet)
./genymotion-xxxxxx.bin

Tryck på Y för att skapa Genymotion-katalogen. Skriv nu i terminalen:

cd genymotion && ./genymotion

Nu kommer det att be dig att börja installationsprocessen, så fortsätt bara klicka på Nästa tills du kommer till fönstret Lägg till virtuella enheter. Välj Pixel XL under Device Model-alternativet och slutför installationen. Du kan testa den virtuella enheten om du vill, det kommer i grund och botten vara som att ha en Pixel XL-telefon på skrivbordet.

PRO TIPS: Om problemet är med din dator eller en bärbar dator, bör du försöka använda Reimage Plus-programvaran som kan skanna förvaret och ersätta korrupta och saknade filer. Detta fungerar i de flesta fall där problemet uppstått på grund av systemkorruption. Du kan ladda ner Reimage Plus genom att klicka här

Låt oss nu skapa Python:

$ apt-get install python

Nu behöver vi konfigurera Java Development Kit på din Linux-maskin. Öppna Linux-terminalen och skriv följande kommandon:

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

Nu måste du konfigurera Linux-systemet för att tillåta USB-enhetens åtkomst. Kör följande kod i Linux-terminalen:

Detta hämtar den nödvändiga 51-android.txt-filen som tillåter den ovannämnda USB-enhetens åtkomst. Öppna .txt-filen och ändra den för att inkludera ditt Linux-användarnamn och placera sedan .txt-filen på följande plats: (som root-användare ). Anslut nu enheten till datorn via USB för att de nya reglerna ska träda i kraft automatiskt.

Nedladdning av Android-källan

AOSP är värd på Git, så vi ska använda ett verktyg som heter Repo för att kommunicera med Git.

Först måste vi konfigurera en / bin-mapp i din hemkatalog. Skriv följande kommandon i Linux-terminalen:

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

Nu laddar vi ner Repo-verktyget, så skriv in i Linux-terminalen:

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

När Repo är installerat måste vi nu skapa en tom katalog för att hålla dina arbetsfiler. Skriv så här in i Linux-terminalen:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Nu ska vi konfigurera Git med ditt namn och din e-postadress - använd en Gmail-adress som du kontrollerar regelbundet, annars kan du inte använda Gerrit-kodgranskningsverktyget.

$ git config -global user.name Ditt namn
$ git config-global användare.email [email protected]

Nu kommer vi att berätta för Repo att dra den senaste mästarens manifest av AOSP från Git:

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

Om det görs får du ett meddelande om att Repo har initierats i din arbetsmapp. Du hittar också en .repo- katalog i klientkatalogen . Så nu laddar vi ner källkoden i Android med:

$ repo synkronisering

Bygga Android-källan

Det här är de hårdvarubinier som nämns i början av den här guiden kommer till spel. Låt oss gå över till AOSP-drivrutinsidan och ladda ner Pixel XL-binarierna för Android 7.1.0 (NDE63P). Du vill ladda ner både leverantörens bild och maskinvarukomponenterna. Dessa kommer som komprimerade arkiv, så extrahera dem till skrivbordet och kör det självutdragande skriptet från rotmappen. Välj att installera binärerna till roten till WORKING_DIRECTORY som vi skapade tidigare.

Skriv nu in i din Linux-terminal:

$ göra clobber
$ source build / envsetup.sh

Nu väljer vi målet att bygga, så skriv:

$ lunch aosp_marlin-userdebug
$ setpaths
$ make -j4

Där har vi byggt en Android-ROM från källan. Så låt oss testa det i emulatorn genom att skriva in i terminalen:

$ emulator

Så lek i emulatorn lite. Som du kan se är en ren Vanilla Android-upplevelse ganska minimal, och det är därför producenter anpassar AOSP till deras behov. Så du kan flasha den här ROM-skivan som vi just byggt till din enhet om du ville, men utan att lägga till några förbättringar, skulle en ren vanilj Android-upplevelse vara en mycket tråkig sak.

Så vilka tillverkare kommer vanligtvis att göra med AOSP är gaffel, lägga till egna proprietära binärer, anpassa användargränssnittet, lägga till en startlogotyp etc. Tillverkaren är i princip bara måla över lagret Android ROM, så det blir ditt nästa mål också .

Håll dig stillad, eftersom den andra delen av den här guiden kommer att gå igenom att lägga till teckensnitt, teman och en startanimation till din ROM!

PRO TIPS: Om problemet är med din dator eller en bärbar dator, bör du försöka använda Reimage Plus-programvaran som kan skanna förvaret och ersätta korrupta och saknade filer. Detta fungerar i de flesta fall där problemet uppstått på grund av systemkorruption. Du kan ladda ner Reimage Plus genom att klicka här

Facebook Twitter Google Plus Pinterest