So erstellen Sie ein benutzerdefiniertes ROM aus einem Android Open Source-Projekt
Diese Anleitung führt Sie durch die Grundlagen der Entwicklung Ihres eigenen benutzerdefinierten Android-ROM. Es sollte beachtet werden, dass dies ein gewaltiges Unterfangen ist. Wenn Sie keine Erfahrung mit dem Codieren oder Herumalbern in Linux-Terminals haben, sollten Sie sich vor dem Eintauchen in dieses Deep-End ein wenig Wissen aneignen. Aber wenn Sie zumindest eine grundlegende Vorstellung von diesen Dingen haben, werde ich versuchen, die Dinge so einfach wie möglich zu erklären, damit Sie mitmachen können.
Grundsätzlich laden wir das herunter roh Android-Quellcode (AOSP) und Ändern nach unseren Wünschen. Da für verschiedene Geräte so viele Quellen zur Auswahl stehen, wird in diesem Handbuch lediglich auf die verwiesen Meister Quelle bekannt als AOSP (Android Open Source Project).
Das Besondere am AOSP ist nun, dass es sich um den reinen Quellcode handelt 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 Telefon der Marke Google (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, dann 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 fest 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 mit 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 jedoch auch dieses Handbuch „Beste Android-Emulatoren“ lesen, da die meisten von ihnen auch Linux-kompatibel sind.
Gehe zum Genymotion websiteRegistrieren 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 Y. 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.
Lassen Sie uns jetzt Python einrichten:
$ 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 51-android.txt-Datei heruntergeladen, die den oben genannten USB-Gerätezugriff 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üfenAndernfalls 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 werden wir Repo anweisen, das neueste Master-Manifest von AOSP von Git zu ziehen:
$ 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. Dort finden Sie auch ein “.repo ” Verzeichnis innerhalb des Client-Verzeichnisses. Jetzt laden wir den Android-Quellbaum herunter mit:
$ repo sync
Erstellen der Android-Quelle
Hier kommen die am Anfang dieses Handbuchs erwähnten Hardware-Binärdateien ins Spiel. Gehen wir rüber 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 „gebaut“. 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. Der Hersteller übermalt im Grunde nur das Standard-Android-ROM, 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!