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
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