Hoe een aangepaste ROM van Android Open Source Project te bouwen

Als u bekend bent met het rooten van uw Android-telefoon of het downloaden van aangepaste ROM's, zoals de zeer populaire CyanogenMod of zijn opvolger Lineage OS, heeft u zich misschien afgevraagd: hoe bouwen mensen deze ROM's? Hoeveel werk gaat er precies in de ontwikkeling van een ROM op maat?

In deze handleiding leert u de basisbeginselen van het ontwikkelen van uw eigen Android-ROM. Opgemerkt moet worden dat dit een enorme onderneming is - als je geen ervaring hebt met het coderen of voor de gek houden in Linux-terminals, wil je misschien wat kennis opdoen voordat je in dit diepe einde duikt. Maar als u op zijn minst een basisidee van die dingen heeft, zal ik proberen de dingen zo eenvoudig mogelijk uit te leggen, zodat u kunt meegaan.

Wat we in feite doen, is het downloaden van de onbewerkte Android-broncode (AOSP) en deze naar wens aanpassen. Omdat er voor verschillende apparaten zoveel bronnen kunnen worden gekozen, verwijst deze handleiding eenvoudig naar de hoofdbron die bekend staat als AOSP (Android Open Source Project) .

Het voordeel van de AOSP is dat de pure broncode geen apparaatspecifieke hardwarepakketten bevat. In termen van de leek werken hardware zoals je camera en GPU niet uit de doos bij het ontwikkelen met de AOSP. Je apparaat start zelfs niet op zonder deze binaire bestanden.

Als u zich ontwikkelt voor een telefoon met het merk Google (Pixel, Nexus, enzovoort), kunt u de binaire bestanden voor hardware rechtstreeks bij Google vinden. In deze handleiding leest u hoe u deze kunt vinden en in uw ROM kunt opnemen. Als je echter een ROM voor een merktelefoon (Sony, Samsung, enz.) Aan het ontwikkelen bent, zegen je hart, want je bent in voor een ritje.

Sommige fabrikanten hebben hun eigen open-sourceprojecten of ontwikkelen ontwikkelingshulpmiddelen voor potentiële ontwikkelaars, terwijl andere fabrikanten hun eigen codes stevig afsluiten. Hier is een korte lijst van open-sourceprojecten van de meer populaire fabrikanten:

Samsung Open Source Release Center
Sony Developer World
Lenovo-ondersteuning
Huawei Open Source Release Center
Motorola-ontwikkelaars

Laten we daarmee uit de weg gaan, in de veronderstelling dat we een ROM bouwen voor de meest eenvoudige, vanille Android-ervaring, voor een Google Pixel-apparaat. Met deze kennis onder uw riem kunt u zelfstandig verdergaan en aangepaste versies van specifieke ROM's van de fabrikant ontwikkelen.

Vereisten voor deze gids:

  • Android Open Source Project
  • Pixel XL-telefoon of een Android-emulator voor Linux
  • 64-bit Linux Besturingssysteem - Ubuntu of Linux Mint zijn de meest newbie-vriendelijke distro's, terwijl BBQLinux specifiek is ontwikkeld met het oog op Android-ontwikkelaars.
  • Python
  • Een krachtige computer (het compileren van code kost veel geheugen en ruimte!)

Uw bouwomgeving opzetten

Laten we beginnen met het instellen van de Android-emulator op uw Linux-computer. Of je nu wel of geen Google Pixel XL-apparaat hebt, het is altijd het veiligst om je nieuwe ROM op een Android-emulator te proberen voordat je het naar je apparaat flitst. Mijn persoonlijke favoriet is Genymotion, dus ik zal je begeleiden bij het installeren van die specifieke emulator. U kunt echter ook deze handleiding Best Android-emulators voor Windows in 2017 bekijken, omdat de meeste ook Linux-compatibiliteit hebben.

Ga naar de Genymotion-website, registreer een account, verifieer deze via e-mail en download het uitvoerbare bestand naar je Linux-desktop.

Open nu een Linux-terminal en typ:

Chmod + x genymotion-xxxxx.bin (vervang xxxx door het versienummer in de bestandsnaam)
./genymotion-xxxxxx.bin

Druk op Y om de Genymotion-map te maken. Type nu de terminal in:

cd genymotion && ./genymotion

Nu zal het je vragen om het installatieproces te beginnen, dus blijf gewoon op Volgende klikken totdat je bij het venster Add Virtual Devices komt. Selecteer Pixel XL onder Apparaatmodel optie en voltooi de installatie. Je kunt het virtuele apparaat testen als je wilt, het zal in principe hetzelfde zijn als een Pixel XL-telefoon op je bureaublad.

PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan ​​door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikken

Laten we nu Python instellen:

$ apt-get install python

Nu moeten we de Java Development Kit op uw Linux-computer installeren. Open de Linux-terminal en typ de volgende opdrachten:

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

Nu moet u het Linux-systeem configureren om USB-apparaattoegang toe te staan. Voer de volgende code uit in de Linux-terminal:

Hiermee wordt het vereiste 51-android.txt-bestand gedownload waarmee de bovengenoemde USB-apparaattoegang mogelijk is. Open het .txt-bestand en pas het aan zodat het uw Linux-gebruikersnaam bevat en plaats het .txt-bestand vervolgens op de volgende locatie: (als de root-gebruiker ). Sluit nu uw apparaat via USB op uw computer aan om de nieuwe regels automatisch van kracht te laten worden.

De Android-bron downloaden

De AOSP wordt gehost op Git, dus we gaan een tool genaamd Repo gebruiken om met Git te communiceren.

Eerst moeten we een / bin-map in uw basismap instellen. Typ de volgende opdrachten in de Linux-terminal:

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

Nu zullen we de Repo-tool downloaden, dus typ in de Linux-terminal:

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

Nadat Repo is geïnstalleerd, moeten we nu een lege map maken om uw werkbestanden te bewaren. Dus typ dit in de Linux-terminal:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Nu zullen we Git configureren met uw naam en e-mailadres - gebruik een Gmail-adres dat u regelmatig controleert, anders kunt u de Gerrit-code-evaluatietool niet gebruiken.

$ git config -global user.name Jouw naam
$ git config -global user.email [email protected]

Nu zullen we Repo vertellen om het nieuwste mastemanifest van AOSP uit Git te trekken:

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

Als dit met succes is gebeurd, ontvangt u een bericht dat Repo is geïnitialiseerd in uw werkdirectory. Je vindt ook een .repo- map in de clientdirectory . Dus nu zullen we de Android-stamboom downloaden met:

$ repo-synchronisatie

De Android-bron bouwen

Dit is waar de hardware-binaire bestanden die aan het begin van deze handleiding worden genoemd, in het spel komen. Laten we naar de AOSP-stuurprogramma's gaan en de Pixel XL binaries voor Android 7.1.0 (NDE63P) downloaden. U wilt zowel de leveranciersimage als de hardwarecomponenten downloaden. Deze komen als gecomprimeerde archieven, dus pak ze uit op je bureaublad en voer het zelfextraherende script uit de hoofdmap. Kies ervoor om de binaire bestanden te installeren in de root van de WORKING_DIRECTORY die we eerder hebben gemaakt.

Type nu in je Linux-terminal:

$ maak klappen
$ source build / envsetup.sh

Nu zullen we het doel kiezen om te bouwen, dus typ:

$ lunch aosp_marlin-userdebug
$ setpaths
$ make -j4

Daar hebben we nu een Android ROM van de bron gebouwd. Dus laten we het in de emulator testen door in de terminal te typen:

$ emulator

Dus speel wat rond in de emulator. Zoals je ziet, is een puur vanille Android-ervaring vrij minimaal en daarom passen fabrikanten de AOSP aan hun behoeften aan. Dus je kunt deze ROM flashen die we zojuist op je apparaat hebben gebouwd als je dat wilde, maar zonder toevoeging van verbeteringen, zou een puur vanille Android-ervaring inderdaad een erg saai ding zijn.

Dus wat fabrikanten doorgaans met de AOSP doen, is het aanvullen, hun eigen binaire bestanden toevoegen, de gebruikersinterface aanpassen, een opstartlogo toevoegen, enz. De fabrikant vult eigenlijk gewoon de Android-ROM in, en dat is dus ook je volgende doel .

Houd dit in de gaten, want het tweede deel van deze handleiding zal gaan over het toevoegen van lettertypen, thema's en een boot-animatie aan je ROM!

PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan ​​door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikken

Facebook Twitter Google Plus Pinterest