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

in #linux6 years ago

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!

Sort:  

Ich habe hier ein Dragon touch x10 rumliegen. Eigentlich zu schade, um es wegzuwerfen, aber für den täglichen Gebrauch ungeeignet, weil es seit Androit 5.1.x. zu langsam ist und zu oft Auszeiten hat.
Einen fertigen build gibt es dafür nicht, aber Du hast mich auf die Idee gebracht, selbst eins zu bauen. Wegwerfen kann ich ja immer noch.

Einen Versuch ist es auf jeden Fall Wert, auch wenn es vermutlich schwer wird, die ganzen benötigen Dateien zu finden...
Trotzdem viel Glück!

Danke, ich hoffe, ich habe mal so viel Langeweile.

Moin @craftamap,
LineageOS nutze ich auf meinem HTC One (M8) auch schon seit einer Weile. Aber es selber zu kompilieren, ist auch schon mal eine Nummer :)
Ich hatte schon mal überlegt anstatt GApps ausschließlich F-Droid einzusetzen. Mal gucken evt. mach ich das auch noch :P

VG Max

Servus Max,

LineageOS nutze ich auf meinem HTC One (M8) auch schon seit einer Weile.

Und du bist hoffentlich auch echt zufrieden damit?

Ich hatte schon mal überlegt anstatt GApps ausschließlich F-Droid einzusetzen. Mal gucken evt. mach ich das auch noch :P

Ist immer mal wieder ne Überlegung wert, aber so ganz ohne Google geht halt echt... wenig. Leider bin ich sogar ein recht großer Google-Fan, auch wenn ich wohl mir da mehr Sorgen machen sollte. ^^

Und du bist hoffentlich auch echt zufrieden damit?

Ja auf jeden Fall. Es zieht seit dem gefühlt mehr Akku, aber sonst ist alles top. Kannste ja gerne mal vergleichen und berichten :)

Leider bin ich sogar ein recht großer Google-Fan

Das ist doch okay. Ich versuche nur etwas Ballast abzuwerfen :D
Na mal gucken.

Es zieht seit dem gefühlt mehr Akku, aber sonst ist alles top. Kannste ja gerne mal vergleichen und berichten :)

Benutzt du greenify mit root ? (Ich hab noch das Donation-Pack, weiß aber ehrlich gesagt nicht, ob das nen großen Unterschied macht) Das hilft bei mir ungemein bei der Akkuleistung. Mein Akku hält damit wirklich noch nen ganzen Tag, was man von nem 4 Jahre altem Handy eigentlich nicht mehr erwartet.

Ja das stimmt, meins ist auch schon fast 4 Jahre alt. So langsam beginnt die Altersschwäche ;)
Nope, Nope, wenn ich das Gerät roote, läuft die Netflix-App nicht mehr :D
Haben se fies gelöst ^^

Ich hab ja das selbe Problem, aber ich hab mir einfach die APK runtergeladen, und die läuft problemlos. :)

Okay, bei dir ging das iwie nicht. Ich glaube ich konnte keine Videos downloaden und offline abspielen :P

Da muss ich zugeben, das weiß ich nicht. Dazu benutz ich Netflix zu selten.
Wäre aber mal zu überprüfen!

This post has received a 0.03 % upvote from @speedvoter thanks to: @maxpatternman.

Coin Marketplace

STEEM 0.18
TRX 0.13
JST 0.029
BTC 57912.75
ETH 3070.69
USDT 1.00
SBD 2.33