So erstellen Sie ein benutzerdefiniertes ROM aus einem Android Open Source-Projekt

Quelle bekannt als AOSP (Android Open Source Project) .



Das Besondere am AOSP ist nun der reine Quellcode beinhaltet nicht gerätespezifische Hardwareeigenschaften. Für Laien funktioniert Hardware wie Ihre Kamera und GPU bei der Entwicklung mit AOSP nicht sofort. Tatsächlich bootet Ihr Gerät nicht einmal ohne diese Hardware-Binärdateien.

Wenn Sie für ein Google-Telefon (Pixel, Nexus usw.) entwickeln, finden Sie die Hardware-Binärdateien direkt von Google , und dieser Leitfaden führt Sie durch das Erhalten und Einbauen in Ihr ROM. Wenn Sie jedoch ein ROM für ein Markentelefon (Sony, Samsung usw.) entwickeln, segnen Sie Ihr Herz, denn Sie werden mitfahren.



Etwas Hersteller haben ihre eigenen Open-Source-Projekte oder Release-Entwicklungstools für angehende Entwickler, während andere Hersteller ihre proprietären Codes streng im Griff haben. Hier ist eine kurze Liste von Open-Source-Projekten der bekannteren Hersteller:



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



Lassen Sie uns unter der Annahme fortfahren, dass wir ein ROM für das grundlegendste Vanille-Android-Erlebnis für ein Google Pixel-Gerät erstellen. Mit diesem Wissen können Sie sich selbstständig machen und kundenspezifische Versionen der ROMs bestimmter Hersteller entwickeln.

Anforderungen für dieses Handbuch:

  • Android Open Source Projekt
  • Pixel XL Telefon oder ein Android-Emulator für Linux
  • 64-Bit-Linux-Betriebssystem - Ubuntu oder Linux Mint sind die neulingfreundlichsten Distributionen BBQLinux wurde speziell für Android-Entwickler entwickelt.
  • Python
  • Ein bulliger Computer (das Kompilieren von Code benötigt viel Speicher und Speicherplatz!)

Einrichten Ihrer Build-Umgebung

Beginnen wir mit der Einrichtung des Android-Emulators auf Ihrem Linux-Computer. Unabhängig davon, ob Sie ein Google Pixel XL-Gerät haben oder nicht, ist es immer am sichersten, Ihr neues ROM auf einem Android-Emulator zu testen Vor Flashen auf Ihr Gerät. Mein persönlicher Favorit ist Genymotion, daher werde ich Sie durch die Installation dieses bestimmten Emulators führen. Sie können sich aber auch diesen Leitfaden ansehen. “ Beste Android Emulatoren ”, Da die meisten von ihnen auch Linux-Kompatibilität haben.

Gehe zum Genymotion website Registrieren Sie ein Konto, überprüfen Sie es per E-Mail und laden Sie die ausführbare Datei auf Ihren Linux-Desktop herunter.



Öffnen Sie nun ein Linux-Terminal und geben Sie Folgendes ein:

Chmod + x genymotion-xxxxx.bin (xxxx durch die Versionsnummer im Dateinamen ersetzen)
./genymotion-xxxxxx.bin

Drücken Sie UND um das Genymotion-Verzeichnis zu erstellen. Geben Sie nun das Terminal ein:

cd genymotion && ./genymotion

Jetzt werden Sie aufgefordert, den Installationsvorgang zu starten. Klicken Sie also so lange auf Weiter, bis Sie zum Fenster Virtuelle Geräte hinzufügen gelangen. Wählen Sie unter Gerätemodell die Option „Pixel XL“ und schließen Sie die Installation ab. Sie können das virtuelle Gerät testen, wenn Sie möchten. Im Grunde ist es so, als hätten Sie ein Pixel XL-Telefon auf Ihrem Desktop.

Richten wir jetzt Python ein:

$ apt-get install python

Jetzt müssen wir das Java Development Kit auf Ihrem Linux-Computer einrichten. Öffnen Sie das Linux-Terminal und geben Sie die folgenden Befehle ein:

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

Jetzt müssen Sie das Linux-System so konfigurieren, dass der Zugriff auf USB-Geräte möglich ist. Führen Sie den folgenden Code im Linux-Terminal aus:

Dadurch wird die erforderliche Datei 51-android.txt heruntergeladen, die den oben genannten Zugriff auf das USB-Gerät ermöglicht. Öffnen Sie die TXT-Datei und ändern Sie sie so, dass sie Ihren Linux-Benutzernamen enthält. Platzieren Sie die TXT-Datei dann an folgendem Speicherort: (als die Root-Benutzer ). Schließen Sie nun Ihr Gerät über USB an Ihren Computer an, damit die neuen Regeln automatisch wirksam werden.

Herunterladen der Android-Quelle

Das AOSP wird auf Git gehostet, daher werden wir ein Tool namens Repo verwenden, um mit Git zu kommunizieren.

Zuerst müssen wir einen / bin-Ordner in Ihrem Home-Verzeichnis einrichten. Geben Sie die folgenden Befehle in das Linux-Terminal ein:

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

Jetzt werden wir das Repo-Tool herunterladen. Geben Sie also in das Linux-Terminal ein:

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

Nach der Installation von Repo müssen wir nun ein leeres Verzeichnis erstellen, in dem Ihre Arbeitsdateien gespeichert werden. Geben Sie dies also in das Linux-Terminal ein:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Jetzt konfigurieren wir Git mit Ihrem Namen und Ihrer E-Mail-Adresse. Verwenden Sie eine Google Mail-Adresse, die Sie regelmäßig überprüfen Andernfalls können Sie das Gerrit-Codeüberprüfungstool nicht verwenden.

$ git config –global user.name “Dein Name”
$ git config –global user.email
you@gmail.com

Jetzt weisen wir Repo an, das neueste Master-Manifest von AOSP von Git abzurufen:

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

Wenn dies erfolgreich durchgeführt wurde, erhalten Sie eine Nachricht, dass Repo in Ihrem Arbeitsverzeichnis initialisiert wurde. Sie finden auch ein ' .repo ” Verzeichnis innerhalb des Client-Verzeichnisses. Jetzt laden wir den Android-Quellbaum herunter mit:

$ repo sync

Erstellen der Android-Quelle

1

Hier kommen die am Anfang dieses Handbuchs erwähnten Hardware-Binärdateien ins Spiel. Gehen wir zum AOSP-Treiber Seite und laden Sie die Pixel XL-Binärdateien für Android 7.1.0 (NDE63P) herunter. Sie möchten sowohl das Hersteller-Image als auch die Hardwarekomponenten herunterladen. Diese werden als komprimierte Archive geliefert. Extrahieren Sie sie daher auf Ihren Desktop und führen Sie das selbstextrahierende Skript aus dem Stammordner aus. Wählen Sie, ob Sie die Binärdateien im Stammverzeichnis des zuvor erstellten WORKING_DIRECTORY installieren möchten.

Geben Sie nun in Ihr Linux-Terminal ein:

$ machen Clobber
$ source build / envsetup.sh

Jetzt wählen wir das zu erstellende Ziel aus. Geben Sie also Folgendes ein:

$mittag aosp_marlin-userdebug
$ setpaths
$ make –j4

Dort haben wir jetzt ein Android-ROM aus dem Quellcode „erstellt“. Testen wir es also im Emulator, indem wir es in das Terminal eingeben:

$ Emulator

Spielen Sie also ein bisschen im Emulator herum. Wie Sie sehen können, ist ein reines Vanille-Android-Erlebnis recht gering, und deshalb passen die Hersteller das AOSP an ihre Bedürfnisse an. Also du könnten Flashen Sie dieses ROM, das wir gerade auf Ihrem Gerät erstellt haben, wenn Sie möchten, aber ohne Verbesserungen, wäre ein reines Vanille-Android-Erlebnis in der Tat eine sehr langweilige Sache.

Was Hersteller normalerweise mit dem AOSP tun, ist, es zu teilen, ihre eigenen proprietären Binärdateien hinzuzufügen, die Benutzeroberfläche anzupassen, ein Boot-Logo hinzuzufügen usw. Hersteller malen im Grunde nur das Standard-Android-ROM über, und das wird auch Ihr nächstes Ziel sein .

Bleiben Sie auf dem Laufenden, denn im zweiten Teil dieses Handbuchs werden Schriftarten, Themen und eine Startanimation zu Ihrem ROM hinzugefügt!

5 Minuten gelesen