Ein eigenes Android builden, so schwer kann das noch nicht sein, oder? | Fabian und die Technik

So langsam werden sie hier wohl zur Gewohnheit: Artikel, in denen ich mich über wunderbar funktionierende Technik freue, und mich auch gar nicht darüber aufregen muss. Aus diesem Grund will ich an dieser Stelle die Kategorie "Fabian und die Technik" ins Leben wecken, in der ich – wie der Name schon vermuten lässt – weiter über Technik aufregen werde.

Und heute?

LineageOS builden - kann ja nicht so schwer sein, oder?

Das Original, nur mit Cyanogen Aufdruck

Als Besitzer eines Oneplus One – mittlerweile seit 4 Jahren – habe ich in den letzten Jahren viele Roms ausprobiert... mehr oder weniger gezwungen, nachdem das Cyanogen-Projekt eingestellt wurde. Von AOSP-Builds, über das PureNexus-Projekt hin bis zu dem TugaPower-Projekt. Aber meine Liebe hat dann nur ein Projekt bekommen: LineageOS

Hinter Lineage steckt quasi das Fortsetzungs-Projekt von Cyanogen, mit neuer Infrastruktur, neuem Gesicht, gleicher Codebase und vielen neuen Ideen.
Auf meinem Oneplus One läuft aktuell auch LineageOS 14.1, also quasi Android 7.1. Und damit bin ich auch einwandfrei zufrieden.
Zum Glück hab ich auch ein zweites Oneplus One, auf dem ich immer experimentiere. Also hab ich mir vorgenommen, für dieses Smartphone mal mein eigenes LineageOS zu builden, damit ich nicht auf die offiziellen Builds warten muss. Das lohnt sich vorallem dann, wenn es noch keine Nightly-Builds gibt, so etwa für Android 8.1 / LineageOS 15.1.

Und so schwer kann das ja nicht sein, oder? Ich mein, es gibt eine offizielle Anleitung dafür, die man hier finden kann. Die Anleitung ist für Linux Ubuntu ausgelegt, also sollte das ja einwandfrei alles laufen, oder?

Erstes Problem: Java

Okay, zugegeben, an diesem Stress bin ich selbst schuld. In der Anleitung steht, dass die OpenSDK 8 installiert sein soll, ich natürlich nur so: "Joa, wird schon auch mit Oracle Java 8" laufen.

Spoilerwarnung für alle, die es auch Probieren wollen: Es läuft nicht unter Oracle Java.
Also sudo apt install opensdk-8-sdk, die Standard-Java Version geändert, go for it.

proprietary blobs – oder auch: warum?

LineageOS setzt voraus, dass man sogenannte proprietary blobs von einem aktuellen installierten LineageOS-Build extrahiert, oder aus einer Installations-Zip extrahiert.

Um eine kurze Geschichte nicht zu lange zu machen (Also quasi 2 Stunden lang rumexperimentieren), beides funktioniert nicht. Nach ein wenig Googlearbeit kommt man dann auf eine GitHub Repository von TheMuppets, welche diese proprietary blobs hostet.

Jeder vernünfigdenkende Mensch würde sich also für ein Oneplus One welche Dateien runterladen? Richtig, die für ein Oneplus One.
Aber was, wenn ich euch erzähle, dass man nicht nur diese braucht, sondern auch noch die für ein oppo msm8974 ? Also auch diese verwendet, und go for it.

Nachdem ich alles aufgesetzt habe, konnte ich auch schon anfangen zu builden... Let's go

Das Builden

Für das Builden von Betriebssystemen wohl ganz normal, hatte mein Computer eine Auslastung von 100% während des gesamten Builds. Zum Glück gingen gleichzeitig noch YouTube-Videos und Twitch-Streams, was denn Build deutlich erleichtert hat.

Doch nach 2 Stunden dann der Schock:

grafik.png
Ignoriert am besten die komischen YouTube-Empfehlungen im Hintergrund... ihr kennt ja YT selbst

failed to build some targets - NACH ZWEI GOTTVERDAMMTEN STUNDEN LANGSAMEN PC?!? Leck mich doch!

Also erstmal wieder ruhig geworden, und das ganze neu starten... Nach 30 Minuten war der nächste Build fertig und... erfolgreich? Warte, was?

Jetzt nur noch flashen...

Also den ROM mit den GApps auf das Gerät geschmissen, TWRP gestartet, system und data gewiped, und versucht zu flashen. Versucht, weil es nicht ging. Die genaue Fehlermeldung weiß ich leider nicht mehr, aber kurz zusammengefasst: Du hast einen Rom für "bacon", aber du hast ein "". Ahhh, wie cool. Also gegooglet, herausgefunden, dass man die falsche TWRP-Version installiert hat, die richtige Version installiert, geflasht und...
Es bootet! Halleluja!

Mein erstes Lineage 15.1-Gerät, und das OS auch noch selbst gebuildet.
Gut, dass das alles noch nicht mal stabil läuft, verheimliche ich euch jetzt einfach mal (die Kamera geht zB nicht, und viele Optionen auch nicht), aber sonst bin ich eigentlich ganz zufrieden.
Hier noch ein paar Screenshots:


photo5233651116464515281.jpg

photo5233249519842470166.jpg

photo5233651116464515282.jpg

Links oben: Lineage 15.1 lässt sich jetzt intern leicht "themen", ohne Tools wie den CyanogenThemeManager oder substratum. Zwar noch nicht mal ansatzweise so umfangsreich, aber ganz ehrlich... für mich voll ausreichend.

Rechts oben: Der Beweis: Android 8.1, LinageOS 15.1, auf meinem PC gebaut

Links unten: Der Launcher mit neuem, echt coolen Icon-Pack. Der Launcher unterstützt auch Icon-Packs, was ziemlich cool ist.


Falls ihr bis hier durchgehalten habt: Ersteinmal - Dankeschön!
Ansonsten würde ich mich über eine Bewertung und einen Kommentar freuen!

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now