Hoe maak je een aangepaste ROM van Android Open Source Project

als je bekend bent met het bewortelen van je Android – telefoon of het downloaden van aangepaste ROM ‘s, zoals de zeer populaire CyanogenMod of zijn opvolger Lineage OS, heb je je misschien afgevraagd-hoe bouwen mensen deze ROM’ s? Hoeveel werk gaat er precies in het ontwikkelen van een op maat gemaakte ROM?

deze gids zal u door de basisprincipes van het ontwikkelen van uw eigen aangepaste Android ROM. Het moet worden opgemerkt dat dit een enorme onderneming is – als je geen ervaring hebt in coderen of rotzooien in Linux terminals, wil je misschien wat kennis onder je riem krijgen voordat je in deze diepte duikt. Maar als je op zijn minst een basisidee van die dingen hebt, zal ik proberen om de dingen zo eenvoudig mogelijk uit te leggen, zodat je kunt volgen.

wat we eigenlijk doen is het downloaden van de raw Android broncode (AOSP) en het aanpassen naar onze wens. Omdat er zo veel bronnen om uit te kiezen voor verschillende apparaten, Deze gids zal gewoon verwijzen naar de master source bekend als AOSP (Android Open Source Project).

het punt met de AOSP is dat de pure broncode geen apparaatspecifieke hardware-eigenschappen bevat. In lekentaal, hardware zoals uw camera en GPU zal niet werken “out of the box” bij het ontwikkelen met de AOSP. In feite, uw apparaat zal niet eens opstarten zonder deze hardware binaries.

als u een Google-telefoon ontwikkelt (Pixel, Nexus, enz.) kunt u de hardwarebinaire bestanden rechtstreeks van Google vinden, en deze handleiding zal u helpen bij het verkrijgen en bouwen ervan in uw ROM. Echter, als je het ontwikkelen van een ROM voor een merknaam telefoon (Sony, Samsung, etc)… goed, zegen je hart, want je bent in voor een rit.

sommige fabrikanten hebben hun eigen open-source-projecten of release-ontwikkeltools voor toekomstige ontwikkelaars, terwijl andere fabrikanten hun eigen codes goed in de gaten houden. Hier is een korte lijst van open-source projecten van de meest populaire fabrikanten:

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

met dat uit de weg, laten we doorgaan onder de veronderstelling dat we een ROM bouwen voor de meest elementaire, vanilla Android-ervaring, voor een Google Pixel-apparaat. Met deze kennis onder uw riem, zult u in staat zijn om uit te breiden op uw eigen en beginnen met het ontwikkelen van aangepaste versies van specifieke fabrikant ROM ‘ s.

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 distributies, terwijl BBQLinux speciaal werd ontwikkeld met Android ontwikkelaars in het achterhoofd.
  • Python
  • een vlezige computer (compileren kost veel geheugen en ruimte!)

het opzetten van uw bouwomgeving

laten we beginnen met het opzetten van de Android emulator op uw Linux machine. Of u nu een Google Pixel XL-apparaat hebt of niet, het is altijd het veiligst om uw nieuwe ROM op een Android-emulator te proberen voordat u het op uw apparaat flasht. Mijn persoonlijke favoriet is Genymotion, dus Ik zal je door het installeren van die bepaalde emulator. Echter, u kunt ook kijken op deze gids “beste Android Emulators”, zoals de meeste van hen hebben ook Linux-compatibiliteit.

Ga naar de Genymotion website, registreer een account, verifieer het 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 map Genymotion aan te maken. Typ nu in de terminal:

cd genymotion && ./ genymotion

nu zal het je vragen om het installatie proces te starten, dus blijf klikken op Volgende totdat je bij het venster virtuele apparaten toevoegen komt. Selecteer “Pixel XL” onder apparaat Model optie, en voltooi de installatie. U kunt het virtuele apparaat uit te testen als je wilt, het zal in principe zijn als het hebben van een Pixel xl telefoon op uw bureaublad.

laten we nu Python instellen:

$ apt-get install python

nu moeten we de Java Development Kit op je Linux machine installeren. Open de Linux terminal en typ de volgende commando ‘ s:

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

nu moet u het Linux systeem configureren om USB-apparaat toegang te geven. Voer de volgende code uit in de Linux terminal:

dit zal de benodigde 51-android downloaden.txt-bestand dat de bovengenoemde USB-apparaat toegang mogelijk maakt. Maak open .txt bestand en wijzig het om uw Linux gebruikersnaam op te nemen, plaats dan de .txt-bestand op de volgende locatie: (als root-gebruiker). Sluit nu uw apparaat aan op uw computer via USB zodat de nieuwe regels automatisch van kracht worden.

het downloaden van de Android bron

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 instellen in uw persoonlijke map. Typ de volgende commando ‘ s in de Linux terminal:

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

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

$ curl 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 aanmaken om uw werkbestanden te bewaren. Dus typ dit in de Linux terminal:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

nu zullen we Git configureren met je naam en e – mailadres-gebruik een Gmail adres dat je regelmatig controleert, anders zul je niet in staat zijn om de Gerrit code-review tool te gebruiken.

$ git config-globale gebruiker.naam”Uw Naam”
$ git config-globale gebruiker.e-mail [email protected]

nu zullen we Repo vertellen om het laatste master manifest van AOSP uit Git te halen:

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

als dit succesvol is gedaan, zal je een bericht ontvangen dat Repo is geïnitialiseerd in je werk directory. Je vindt er ook een”.repo ” directory binnen de client directory. Dus nu zullen we de Android source tree downloaden met:

$ repo sync

het bouwen van de Android Source

Dit is waar de hardware binaries genoemd aan het begin van deze gids in het spel komen. Laten we naar de AOSP drivers pagina gaan en de pixel xl binaries voor Android 7.1.0 (NDE63P) downloaden. U wilt zowel het vendor-image als de hardwarecomponenten downloaden. Deze komen als gecomprimeerde archieven, dus pak ze uit op uw bureaublad en voer het zelfuitpakkende script uit de hoofdmap. Kies ervoor om de binaries te installeren naar de root van de WORKING_DIRECTORY die we eerder gemaakt hebben.

typ nu in uw Linux terminal:

$ make clobber
$ source build/envsetup.sh

nu kiezen we het te bouwen doel, dus type:

$ lunch aosp_marlin-userdebug
$ setpaths
$ make-j4

daar hebben we nu een Android ROM van de broncode “gebouwd”. Dus laten we het testen in de emulator, door in de terminal te typen:

$ emulator

dus speel een beetje rond in de emulator. Zoals u kunt zien, een puur vanille Android ervaring is vrij minimaal, en dit is de reden waarom fabrikanten de AOSP aan te passen aan hun behoeften. Dus je kon flash deze ROM die we net gebouwd om uw apparaat als je wilde, maar zonder enige verbeteringen toe te voegen, een puur vanille Android ervaring zou een zeer saai ding inderdaad.

wat fabrikanten meestal doen met de AOSP is het forken, hun eigen eigen binaire bestanden toevoegen, de gebruikersinterface aanpassen, een opstartlogo toevoegen, enz. Fabrikant in principe gewoon verf over de voorraad Android ROM, en dus dat zal uw volgende doel ook.

Stay tuned, als het tweede deel van deze gids zal gaan door het toevoegen van lettertypen, thema ‘ s, en een boot animatie aan uw ROM!

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.