decocode decocode deco    

LineageOS 14.1 auf dem Sony Xperia SP installieren #

Übersicht
Smartphone mit TowelRoot rooten
Backup der TA-Partition
Bootloader entsperren
TWRP installieren
Nandroid-Backup des Smartphones
LineageOS-Abbild flashen
Nach der Installation
Alternative App-Stores
Dialer-Bug fixen
Schriftarten ändern

LineageOS (ehem. CyanogenMod) ist eine alternative Firmware (Custom-ROM) für mobile Android-Geräte wie Smartphones und Tablets, basiert selbst auf Android von Google und damit ebenfalls auf dem Linux-Kernel. LineageOS 14.1 basiert auf Android 7.1.2 Nougat.

Die Vorteile einer alternativen Firmware sind unter anderem:

  • Systemaktualisierungen über die herstellerseitige Unterstützung hinaus
  • keine Bloatware
  • Unabhängigkeit von Google (s. Wikipedia)
  • Unabhängigkeit vom Gerätehersteller
  • Erhöhte Funktionalität des Gerätes
  • Erweiterte Anpassbarkeit der Benutzeroberfläche

Logo: LineageOSDie mit Android vorinstallierten Google-Apps sowie der Google-Play-Store werden nicht automatisch mit LineageOS installiert.

Im Gegensatz zu der Situation bei Desktop-Rechnern, für die eine Vielzahl von alternativen und freien Betriebssystemen existiert, die in der Regel verhältnismäßig leicht zu installieren sind, ist die Installation einer alternativen Firmware für mobile Geräte gegenwärtig oft mit einigen Hürden verbunden.

Zunächst sind die Firmwares in der Regel nur für eine beschränkte Anzahl von Geräten verfügbar. Hier empfiehlt es sich unter Umständen, erst die gewünschte Firmware zu wählen und sich dann das dazu passende Gerät anzuschaffen. Für den unerfahrenen Anwender besteht beim Flashen eines Custom-ROM immer die Gefahr, das betreffende Gerät zu bricken und damit unbrauchbar zu machen. Viele inoffizielle Custom-ROMs wirken recht experimentell und unausgereift, ihre Herkunft ist oft wenig transparent und die Installation nur mit einer Reihe zusätzlicher Werkzeuge zu bewerkstelligen. Eine Liste seriöser und ausgereifter Firmwares findet man bei Wikipedia. Recht aktive Foren zu dem Thema findet man beispielsweise bei xda-developers.com oder android-hilfe.de.

Dann kann es sein, dass das für das Flashen der Firmware oft notwendige Entsperren des Bootloaders von Herstellerseite unüberwindbar blockiert wird. Die Möglichkeit des Entsperrens ist daher vor dem Kauf des gewünschten Gerätes zu prüfen. Dazu startet man über die Telefon-App des Gerätes zunächst das Service-Menü, indem man dort den Code *#*#7378423#*#* eingibt. Dann navigiert man durch die Optionen Service info ► Configuration. Unter der Überschrift Rooting status muss die Angabe Bootloader unlock allowed: Yes angezeigt werden, ansonsten ist das Entsperren des Bootloaders nicht möglich.

LineageOS ist für viele Android-Geräte verfügbar. Eine Liste der unterstützten Geräte findet man im Wiki von LineageOS. In diesem Wiki findet man auf der entsprechenden Seite auch Installationshinweise für das gewünschte Gerät.

Die Installation von LineageOS wird hier schrittweise am Beispiel des Sony Xperia SP (C5303; Codename: huashan; Android 4.3 Jelly Bean; Build-Nummer 12.1.A.1.205) beschrieben, wobei das Gerät für Teile dieses Vorgangs an einen PC mit Linux Mint angeschlossen wird. Diese Anleitung sollte daher auch mit anderen, auf Debian basierenden Linux-Distributionen funktionieren (wie beispielsweise Ubuntu). Die Installation mit Hilfe von Windows oder macOS wird hier nicht beschrieben. Je nach verwendetem Gerät können einzelne Schritte von diesem Beispiel abweichen, über die man sich an anderen Stellen im Internet informieren muss. Eine weitere Firmware, die auf dem Xperia SP läuft, ist Resurrection Remix OS (Download s. hier).

Es ist sehr empfehlenswert, diese Anleitung zunächst komplett durchzulesen und zu verstehen, bevor man mit der Installation der Firmware beginnt, um Datenverlust vorzubeugen und die Gefahr zu umgehen, sein Gerät unbrauchbar zu machen!

Für die hier beschriebenen Vorgänge sollte das betreffende Gerät voll aufgeladen sein und über einen Internetzugang verfügen. Eine SIM-Karte ist nicht notwendig.

Übersichtsseite von LineageOS zum Sony Xperia SP
Offizielle Installationsanleitung von LineageOS

Für einzelne Schritte dieser Anleitung werden die Shell-Befehle adb und fastboot benötigt, die in der Regel auf dem Desktop-Rechner zunächst nachinstalliert werden müssen (s. auch ADB und Fastboot):

sudo apt-get install android-tools-adb android-tools-fastboot

Installation per apturl symbol: question

Um diese Befehle verwenden zu können, müssen die USB-Treiber auf dem Smartphone installiert sein. Nun muss man auf dem Gerät die Entwickleroptionen aktivieren: Einstellungen ► Über das Telefon, dann 7× auf die Option Build-Nummer tippen. Anschließend unter Einstellungen ► Entwickleroptionen die Option USB-Debugging aktivieren.

Smartphone mit TowelRoot rooten #

Um von der vorhandenen Android-Installation ein Backup machen und ein alternatives Betriebssystem installieren zu können, benötigen wir einen Zugriff auf das Dateisystem des Smartphones. Dazu muss dieses Gerät zunächst gerootet werden. Für diesen Eingriff existieren keine offiziellen Werkzeuge, weshalb man auf Software von Drittanbietern angewiesen ist. Welche Software für das eigene Gerät geeignet ist und welcher man vertrauen kann, muss man durch Recherche selbst herausfinden (z. B. bei rootwiki.net). Dabei sollte man sich bewusst sein, dass man das Gerät durch das Rooten sehr weit für Angriffe von außen öffnet, weshalb dieser Eingriff grundsätzlich ein Sicherheitsrisiko darstellt. Weiterhin kann das Gerät durch unsachgemäß durchgeführtes Rooten auf Soft- und/oder Hardware-Ebene beschädigt werden (soft brick / hard brick), weshalb man einen solchen Eingriff nur durchführen sollte, wenn man weiß, was man tut.

Durch das Rooten erlischt in der Regel die Gewährleistung bzw. Garantie des Herstellers für das betroffene Gerät, weshalb es unter Umständen angezeigt sein könnte, die angestrebten Veränderungen erst nach Ablauf der entsprechenden Zeiträume vorzunehmen.

Im Smartphone erlaubt man nun über das Menü Einstellungen ► Sicherheit ► Unbekannte Herkunft das Ausführen von Drittanbieter-Software (die nicht über den Google-Play-Store installiert werden soll).

Dann ruft man im Browser des Smartphones die Seite towelroot.com auf, tippt dort auf das große λ-Symbol, wodurch die Datei tr.apk, die die App TowelRoot enthält, heruntergeladen wird. Anschließend öffnet man die Benachrichtigungsliste des Smartphones, in der der soeben erfolgte Download aufgeführt ist, und startet über diesen Punkt die Installation der App (eine Sicherheitswarnung von Android kann ignoriert werden).

Wenn die App gestartet ist, klickt man auf den Button make it ra1n. Das erfolgreiche Rooten des Smartphones wird durch die Mitteilung „Successful“ angezeigt und kann zusätzlich mit der App Root Checker überprüft werden.

Quellen: rootwiki.net, droidviews.com

Backup der TA-Partition (optional) #

Die TA-Partition (trim area) des Xperia enthält proprietäre Daten wie beispielsweise DRM-Schlüssel, die für diverse Sony-spezifische Funktionen des Gerätes notwendig sind (z. B. Bravia-Engine), und beim Entsperren des Bootloaders (nächster Schritt) verloren gehen. Um diese Partition bei Bedarf wieder herstellen zu können, sollte sie daher zunächst gesichert werden!

Um das Backup speichern zu können, muss eine separate microSD-Karte in dem Gerät eingelegt sein.

Nun verbindet man das Smartphone über das USB-Kabel mit dem Desktop-Rechner, startet auf dem Desktop-Rechner das Terminal und gibt dort den Befehl adb devices ein. Auf dem Smartphone muss man jetzt in der Regel einen Dialog bestätigen, um das USB-Debugging zu erlauben:Screenshot: Debugging erlauben Wird das Smartphone erkannt, erhält man eine ähnliche Ausgabe wie diese und kann fortfahren:

Quelltext auswählen
1
2
List of devices attached 
YT910NPHQ0	device

Steht hier statt device das Schlüsselwort unauthorized, wurde der Dialog zum Erlauben des USB-Debuggings noch nicht bestätigt.

Mit dem Befehl adb shell startet man nun eine Shell-Session auf dem Smartphone. Alle folgenden Befehle werden nun auf dem Smartphone ausgeführt. Mit dem Befehl ls -l kann man sich jetzt alle Objekte im Wurzelverzeichnis des Dateisystems anzeigen lassen. Von Bedeutung wäre hier die Information der Datei sdcard1, die auf den Ort /storage/removable/sdcard1 verweist. Dies ist die separate SD-Karte, auf der das Backup gespeichert werden soll.

Den Ort der TA-Partition ermittelt man über folgenden Befehl:

ls -al /dev/block/platform/msm_sdcc.1/by-name

Hier erhält man eine Ausgabe ähnlich dieser:

Quelltext auswählen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
lrwxrwxrwx root     root              1970-03-08 23:00 Boot -> /dev/block/mmcblk0p2
lrwxrwxrwx root     root              1970-03-08 23:00 Boot2 -> /dev/block/mmcblk0p3
lrwxrwxrwx root     root              1970-03-08 23:00 Cache -> /dev/block/mmcblk0p14
lrwxrwxrwx root     root              1970-03-08 23:00 FOTAKernel -> /dev/block/mmcblk0p11
lrwxrwxrwx root     root              1970-03-08 23:00 Kernel -> /dev/block/mmcblk0p4
lrwxrwxrwx root     root              1970-03-08 23:00 LTALabel -> /dev/block/mmcblk0p12
lrwxrwxrwx root     root              1970-03-08 23:00 System -> /dev/block/mmcblk0p13
lrwxrwxrwx root     root              1970-03-08 23:00 TA -> /dev/block/mmcblk0p1
lrwxrwxrwx root     root              1970-03-08 23:00 TZ -> /dev/block/mmcblk0p5
lrwxrwxrwx root     root              1970-03-08 23:00 Userdata -> /dev/block/mmcblk0p15
lrwxrwxrwx root     root              1970-03-08 23:00 apps_log -> /dev/block/mmcblk0p10
lrwxrwxrwx root     root              1970-03-08 23:00 fsg -> /dev/block/mmcblk0p8
lrwxrwxrwx root     root              1970-03-08 23:00 modemst1 -> /dev/block/mmcblk0p6
lrwxrwxrwx root     root              1970-03-08 23:00 modemst2 -> /dev/block/mmcblk0p7
lrwxrwxrwx root     root              1970-03-08 23:00 ramdump -> /dev/block/mmcblk0p9

Hier sehen wir den Pfad zur TA-Partition: /dev/block/mmcblk0p1

Jetzt können wir mit dem dd-Befehl die Partition auf die SD-Karte kopieren. Sollten der Pfad der TA-Partition oder der SD-Karte von diesem Beispiel abweichen, ist der dd-Befehl entsprechend anzupassen:

su (Root-Session starten)
dd if=/dev/block/mmcblk0p1 of=/sdcard1/ta-backup.img
oder
dd if=/dev/block/mmcblk0p1 of=/storage/removable/sdcard1/ta-backup.img

Auf der SD-Karte befindet sich nun das ca. 2,1 MB große Backup der TA-Partition, was mit folgenden Befehlen geprüft werden kann:

cd sdcard1 (Wechsel zum Verzeichnis der SD-Karte)
ls -l (Objekte auflisten)

Mit exit wird dann zunächst die Root-Session (su) beendet und mit einem weiteren exit schließlich die ADB-Shell.

Möchte man die TA-Partition mit Hilfe dieses Backups wiederherstellen, so verwendet man folgenden Befehl:

dd if=/sdcard1/ta-backup.img of=/dev/block/mmcblk0p1

Auf diese Weise können bei Bedarf auch weitere Partitionen gesichert werden.

Das Backup der TA-Partition sollte man nun von der SD-Karte auf den Desktop-PC kopieren.

Bootloader entsperren #

Bei diesem Vorgang wird das Gerät auf den Auslieferungszustand zurückgesetzt, wobei alle gespeicherten Apps und Daten verloren gehen. Diese müssen daher bei Bedarf zunächst gesichert werden!

Außerdem ist davon auszugehen, dass die Gewährleistung für das Gerät mit diesem Vorgang erlischt.

Das Gerät bleibt weiterhin gerootet.

Die alternative Firmware wird mit dem Tool Team Win Recovery Project (TWRP) auf das Gerät geflasht. TWRP wird durch einen besonderen Bootvorgang geladen. Dazu muss der Bootloader des Gerätes entsperrt sein (unlocked), was herstellerseitig in der Regel nicht der Fall ist und daher manuell nachgeholt werden muss, wenn dies vom Gerät zugelassen ist. Lautet der Rooting-Status des Gerätes Bootloader unlock allowed: Yes (s. oben), kann der Bootloader entsperrt werden. Dieser Vorgang wird von Gerät zu Gerät unterschiedlich sein. Für das Sony Xperia SP geht man folgendermaßen vor:

Auf der Sony-Seite Unlock your boot loader wählt man in der Liste unten zunächst das eigene Gerät und klickt dann auf Continue. Im folgenden Schritt gibt man eine gültige E-Mail-Adresse an, an die Sony einem einen Link schicken kann, über den man den Code zum Entsperren des Bootloaders erhält. Durch Klick auf Submit wird die E-Mail-Adresse abgeschickt.

Als nächstes ermittelt man die IMEI-Nummer des Smartphones. Entweder man gibt in der Telefon-App den Code *#06# ein, oder man wählt im Menü Einstellungen ► Über das Telefon ► Status und scrollt dann zu dem IMEI-Eintrag. Diese Nummer sollte man sich nun notieren.

In der Antwort-Mail von Sony ist dann ein Link auf eine Seite enthalten, auf der man die IMEI-Nummer eingibt, aus der anschließend der 16-stellige Entsperr-Code berechnet wird. Dieser wird dann mittels fastboot an das Smartphone übergeben:

Das Smartphone wird ausgeschaltet und das USB-Kabel mit dem Desktop-Rechner verbunden. Bei gedrückter Lautstärke ➕-Taste wird das USB-Kabel nun mit dem Smartphone verbunden. Die LED am Gerät beginnt blau zu leuchten, was den Fastboot-Modus anzeigt. Auf dem Desktop-Rechner gibt man dann im Terminal den Befehl sudo fastboot devices ein. Wird das Smartphone erkannt, erhält man eine ähnliche Ausgabe wie diese und kann fortfahren:

Quelltext auswählen
1
PSDN:YT910HEXXZ&ZLP	fastboot

Wurde das Smartphone erkannt, gibt man folgenden Befehl zum Entsperren des Bootloaders ein, wobei die Zeichenfolge ABCDEFGH12345678 durch den eigenen Entsperr-Code zu ersetzen ist:

sudo fastboot -i 0x0fce oem unlock 0xABCDEFGH12345678

Nach einigen Sekunden ist der Bootloader entsperrt und das Terminal kann geschlossen werden. Nun zieht man das USB-Kabel wieder ab und bootet das Smartphone normal. Das erste Booten kann einige Minuten dauern, da das Gerät vollständig zurückgesetzt wird. Der neue Rooting-Status sollte nun Bootloader unlocked: Yes lauten.

Dann schaltet man das Smartphone wieder aus.

TWRP installieren #

Achtung! Der Download von TWRP darf nicht mit Shell-Befehlen wie wget erfolgen, da der Download-Server das verbietet (s. hier). Stattdessen wird hier der Download über den Webbrowser beschrieben. Es existiert auch eine APP für den Download direkt vom Smartphone aus (s. hier).

Offizielle Installationsanleitung von TWRP

TWRP (Team Win Recovery Project) ist eine alternative Recovery-Software, mit der LineageOS auf das Smartphone geflasht werden kann. Außerdem lässt sich mit diesem Tool ein Backup des vorhandenen Android-Systems erstellen, um es bei Bedarf wiederherstellen zu können.

Da beim Entsperren des Bootloaders das Smartphone zurückgesetzt wurde, muss jetzt als erstes das USB-Debugging erneut aktiviert werden (s. oben). Außerdem müssen die USB-Treiber neu installiert werden.

Dann lädt man sich von der TWRP-Website eine aktuelle Version des Tools (ca. 12 MB) sowie dessen digitale Signatur herunter und verschiebt diese in die oberste Ebene des Benutzerordners (Versionsnummer ggf. anpassen; die Dateien werden hier der Einfachheit halber gleich umbenannt):

cp ~/Downloads/twrp-3.1.1-0-huashan.img ~/twrp.img
cp ~/Downloads/twrp-3.1.1-0-huashan.img.asc ~/twrp.img.asc

Um die Signatur prüfen zu können, wird außerdem noch der öffentliche Schlüssel benötigt:

gpg --keyserver pool.sks-keyservers.net --recv-keys 891A43DF

Nun kann die TWRP-Datei geprüft werden:

gpg --verify twrp.img.asc twrp.img

Die Ausgabe sollte folgendermaßen aussehen, wenn die TWRP-Datei eine korrekte Signatur aufweist. Die Warnung besagt lediglich, dass der Fingerabdruck des öffentlichen Schlüssels nicht verifiziert wurde (s. hier).

Quelltext auswählen
1
2
3
4
5
gpg: Unterschrift vom So 21 Mai 2017 03:33:31 CEST mittels RSA-Schlüssel ID 891A43DF
gpg: Korrekte Unterschrift von »TeamWin <admin@teamw.in>«
gpg: WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!
gpg:          Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen Besitzer gehört.
Haupt-Fingerabdruck  = 9570 7D42 307C 9D41 D09B  F709 1D85 97D7 891A 43DF

Anschließend kann man eine MD5-Prüfsumme der Datei erzeugen. Diese muss mit dieser übereinstimmen, ansonsten war der Download fehlerhaft:

md5sum twrp.img

Jetzt bootet man das Smartphone wieder in den Fastboot-Modus (bei gedrückter Lautstärke ➕-Taste das am Desktop-Rechner angeschlossene USB-Kabel mit dem Smartphone verbinden), prüft die Verbindung mit sudo fastboot devices und flasht TWRP in die Boot-Partition des Gerätes (Die offizielle Anleitung beschreibt das übliche Flashen in die Recovery-Partition, die beim Xperia SP allerdings nicht existiert.):

sudo fastboot flash boot twrp.img

Dann entfernt man das USB-Kabel. Wird das Smartphone nun wieder angeschaltet, bootet es automatisch mit TWRP.

Nandroid-Backup des Smartphones (optional) #

Um im Bedarfsfall die Änderungen, die durch die Installation von LineageOS an dem Zielgerät vorgenommen wurden, wieder rückgängig machen zu können, empfiehlt es sich, von dem Dateisystem, auf dem die Firmware installiert werden soll, zunächst ein Backup zu machen. TWRP bietet hier die Möglichkeit eines so genannten Nandroid-Backups, bei dem individuell ausgewählt werden kann, welche Partitionen gesichert werden sollen. Diese können später mit TWRP wiederhergestellt werden.

Dazu wählt man nach dem Start von TWRP im Hauptmenü die Option Backup und dort die Partitionen Boot, System und Data. Dann wählt man über den Button Select Storage die separate SD-Karte (Micro SDCard). Bestätigt mit OK und wischt unten über Swipe to Backup.

LineageOS-Abbild flashen #

Bei diesem letzten Schritt müssen alle benötigten Pakete zusammen mit der Firmware auf das Smartphone geflasht werden, da eine nachträgliche Installation von TWRP die Boot-Partition wieder überschreibt und damit das Booten in LineageOS unmöglich macht. Ansonsten muss LineageOS erneut geflasht werden, was dazu führen kann, dass inzwischen vorgenommenen Installationen, Konfigurationen und Daten verloren gehen!

Da mit dem Flashen von LineageOS auch der Kernel überschrieben wird, geht somit auch der Rootzugriff wieder verloren. Das Verfahren mit TowelRoot funktioniert hier aufgrund des aktuelleren Kernels nicht, allerdings stellt LineageOS ein eigenes Werkzeug dafür zur Verfügung, das in diesem Vorgang zusammen mit der Firmware geflasht werden kann. Das benötigte Paket findet man im Download-Bereich von LineageOS in der Rubrik Extras. Das Xperia SP besitzt einen Snapdragon S4 Pro Prozessor mit 32-Bit und ARM-kompatiblen Kernen. Daher wählt man das Paket addonsu-14.1-arm-signed.zip.

Quellen:
How to ROOT Lineage OS 14.1/13 Marshmallow/Nougat ROM
How to ROOT Any Android by Flashing SuperSU via TWRP

Als nächstes lädt man sich die aktuellste Version der Firmware bei LineageOS herunter und kopiert die Pakete in die oberste Ebene des Benutzerordners, wobei diese hier gleich umbenannt werden (Versionsnummer ggf. anpassen):

cp ~/Downloads/lineage-14.1-20171004-nightly-huashan-signed.zip ~/lineage.zip
cp ~/Downloads/addonsu-14.1-arm-signed.zip ~/addonsu.zip

Dann ermittelt man die SHA256-Prüfsummen der Dateien, um die Integrität der Downloads zu prüfen und vergleicht die Ausgaben mit den entsprechenden Werten auf den Download-Seiten:

sha256sum lineage.zip
sha256sum addonsu.zip

Die digitalen Signaturen der Dateien überprüft man mit folgenden Befehlen und vergleicht die Ausgabe mit der Seite Verifying Build Authenticity:

keytool -list -printcert -jarfile lineage.zip
keytool -list -printcert -jarfile addonsu.zip

Nun verbindet man das Smartphone wieder über das USB-Kabel mit dem Desktop-Rechner, öffnet dort das Terminal und überprüft die Verbindung wieder mit adb devices. Dann kopiert man die Pakete auf die separate SD-Karte:

adb push lineage.zip /external_sd/lineage.zip
adb push addonsu.zip /external_sd/addonsu.zip

Das USB-Kabel wird dann wieder entfernt.

In TWRP wählt man im Hauptmenü nun zunächst die Option Wipe und dann Advanced Wipe. Hier wählt man die Partitionen System, Cache und Data und wischt dann unten über Swipe to Wipe, um die gewählten Partitionen zu leeren.

Im Hauptmenü wählt man dann die Option Install, wählt dort über Select Storage die separate SD-Karte Micro SDCard und bestätigt mit Tippen auf OK. Dann wählt man die Datei lineage.zip, tippt auf Add more Zips, um ein weiteres Paket auszuwählen, wählt dann die Datei addonsu.zip (und ggf. weitere Pakete) und wischt dann unten über Swipe to confirm Flash, um die gewählten Pakete auf das Gerät zu flashen.

Ist dieser Vorgang beendet, tippt man auf Reboot System und startet so das Smartphone neu, was beim ersten Booten ein paar Minuten dauern kann, da das System neu eingerichtet wird.

Fertig!

Nach der Installation #

Beim ersten Start von LineageOS werden einige grundlegende Einstellungen vorgenommen.

Benutzeroberfläche auf Deutsch umstellen:
Settings ► Languages & input ► Languages ► Add a language ► Deutsch ► Deutschland
Dieser Eintrag wird in der Liste per Drag&Drop hochgeschoben, um ihn zur Vorgabe zu machen.

Datum und Zeit:
Einstellungen ► Datum & Uhrzeit ► Automatische Zeitzone (deaktivieren) ► Zeitzone auswählen ► Amsterdam GMT+2:00

Apps von Drittanbietern erlauben:
Einstellungen ► Sicherheit ► Unbekannte Herkunft

Autokorrektur der Bildschirmtastatur deaktivieren:
Einstellungen ► Sprachen & Eingabe ► Bildschirmtastatur ► Android-Tastatur ► Textkorrektur

Rootzugriff aktivieren:
Einstellungen ► Über das Telefon ► 7× auf 'Build-Nummer' tippen
Einstellungen ► Entwickleroptionen ► Root-Zugriff
Obwohl hier die Option Nur ADB existiert, funktioniert bei mir Root in ADB nur, wenn ich die Option Apps und ADB wähle. Ist man mit den Operationen fertig, die den Rootzugriff benötigen, sollte man diesen aus Sicherheitsgründen wieder deaktivieren.

USB-Debugging aktivieren:
Einstellungen ► Entwickleroptionen ► Android-Debugging

Verbindet man das Smartphone mit dem Desktop-Rechner, um Daten über den Dateimanager des Rechners auszutauschen, muss man die Benachrichtigung Gerät wird über USB aufgeladen in der Benachrichtigungsleiste antippen und dort die Option Dateien übertragen wählen. Dann wird das Telefon im Dateimanager angezeigt:Screenshot: Dateien übertragen Die Taschenlampenfunktion befindet sich in der Benachrichtigungsleiste.

Screenshots vom Smartphone-Display können aufgenommen werden, indem man gleichzeitig die An/Aus+Lautstärke ➖-Knöpfe des Gerätes gedrückt hält.

Alternative App-Stores #

Der Google-Play-Store ist in LineageOS nicht installiert. Alternative App-Stores sind beispielsweise:

F-Droid (nur freie Software); Interessante Apps sind hier beispielsweise
Root Verifier (Rootzugriff prüfen)
Document Viewer (PDF-Betrachter)
NoNonsense Notes (Notizblock und Aufgabenverwaltung)
Mathdroid (Taschenrechner)
Simple Weather (Wetterbericht)
Wikipedia (Enzyklopädie)
Firefox Klar (Webbrowser)
WebTube (YouTube-Client)
RadioDroid (Internet-Radio)
Chromium SWE Updater (Downloader für Chromium Webbrowser)
OsmAnd~ (Landkarten von Open Street Map und Routenplaner, auch offline)
Compass (Kompass-Emulator)

Aptoide (freie und proprietäre Software); Interessante Apps sind hier beispielsweise
Signal (Instant Messenger und SMS)
LEO Wörterbuch
Gobandroid HD (Go-Spiel)
Gobandroid HD A.I. GnuGo (KI für Gobandroid)

Bei Raccoon lassen sich Apps aus dem Google-Play-Store herunterladen, wenn dieser nicht verwendet werden soll oder kann.

Ein weiteres APK-Repository ist APKMirror.

Dialer-Bug fixen #

Nach der Installation von LineageOS funktionierte die Telefon-App nicht mehr fehlerfrei. Beim Aufbau einer Verbindung schaltete der Bildschirm ab und ließ sich erst nach längerer Pause wieder aktivieren. Eine Recherche ergab, dass dieser Bug mit dem Abstandssensor (proximity sensor) zu tun hat und sich nicht ohne weiteres entfernen lässt. Eine vorübergehende Lösung besteht aber darin, die betroffene App Dialer.apk gegen eine gepatchte Version auszutauschen, die den Abstandssensor ignoriert. Einen Link zu der gepatchten App findet man im Text zu folgendem YouTube-Video:


Diese App ist aber inoffiziell und stellt damit grundsätzlich ein Sicherheitsrisiko dar, da der Quelltext nicht offen liegt. Eine Alternative dazu habe ich bislang nicht gefunden. Die App lässt sich folgendermaßen austauschen:

Zunächst aktiviert man das USB-Debugging und den Rootzugriff:

Einstellungen ► Entwickleroptionen ► Android-Debugging
Einstellungen ► Entwickleroptionen ► Root-Zugriff ► Apps und ADB

Das Gerät wird per USB-Kabel mit dem Desktop-Rechner verbunden und der Debugging-Dialog auf dem Gerät bestätigt. Dann öffnet man das Terminal, überprüft die Verbindung mit adb devices und gibt folgende Befehle ein:

Original-App umbenennen (als Backup):
adb root
adb shell
mount -o remount,rw /system
cd /system/priv-app/Dialer
mv Dialer.apk Dialer.apk.orig
exit

Gepatchte App auf das Smartphone kopieren:
adb push ~/Downloads/Dialer.apk /system/priv-app/Dialer/Dialer.apk

Dann über Einstellungen ► Apps ► Telefon ► Berechtigungen die Berechtigungen überprüfen und das Smartphone neu starten.

Schriftarten ändern #

Wem die mit LineageOS installierte TrueType-Schriftart Roboto nicht gefällt, kann diese gegen eine andere austauschen.

Dabei ist allerdings darauf zu achten, dass die Datei Roboto-Light.ttf am Codepunkt U+EE01 eine Doppelpunkt-Glyphe enthält, da diese anstelle des normalen Doppelpunktes an Codepunkt U+003A für die Zeitanzeige des Sperrbildschirms verwendet wird. Sollte dieses Zeichen nicht vorhanden sein, kann es mit einem Font-Editor wie beispielsweise FontForge in den Zeichensatz der Datei eingefügt werden.

Die Schriftfamilie Roboto findet man unter anderem bei Font Squirrel (mit reduziertem Zeichensatz).

Roboto ist mit insgesamt 18 Schriftschnitten wie bei Android als Systemschriftart in LineageOS im Verzeichnis /system/fonts installiert. Um ein einheitliches Schriftbild zu erhalten, macht es daher Sinn, eine alternative Schriftart zu wählen, die ebenfalls eine annähernd große Zahl an Schnitten besitzt.

Dann aktiviert man auf dem Smartphone das USB-Debugging und den Rootzugriff:

Einstellungen > Entwickleroptionen > Android-Debugging
Einstellungen > Entwickleroptionen > Root-Zugriff > Apps und ADB

Als nächstes verbindet man das Smartphone (mit eingelegter separater SD-Karte) mit dem Desktop-Rechner, bestätigt auf dem Smartphone die Datenübertragung, öffnet auf dem Desktop-Rechner das Terminal und prüft die Verbindung zunächst mit dem Befehl adb devices. Dann öffnet man mit ADB eine Shell und kopiert sich den Ordner /system/fonts als Backup der Schriftartendateien vom Smartphone auf den Desktop-Rechner:

adb pull /system/fonts ~/LineageFonts

Anschließend richtet man auf dem Desktop-Rechner in der obersten Ebene des Benutzerordners einen neuen Ordner RobotoAlternative ein, in den man die Dateien der alternativen Schriftart kopiert. Dort benennt man diese Dateien entsprechend den Schriftschnitten von Roboto um. Die Namen findet man in dem neuen Ordner LineageFonts auf dem Desktop-Rechner. Also beispielsweise DejaVuSans.ttf in Roboto-Regular.ttf, DejaVuSans-BoldOblique.ttf in Roboto-BoldItalic.ttf, DejaVuSansCondensed-Bold.ttf in RobotoCondensed-Bold.ttf usw.

Dann lässt man sich den Inhalt des Ordners /storage auf dem Smartphone anzeigen:

adb shell
ls -l storage

Hier sind in der Gruppe sdcard_rw die interne (emulated) und die separate SD-Karte aufgeführt. Der Name des Ordners der separaten SD-Karte (hier: 6534-6331) wird für den nächsten Shell-Befehl benötigt.

Quelltext auswählen
1
2
3
4
5
huashan:/ # ls -l storage
total 36
drwxrwx--x 13 root sdcard_rw 32768 1970-01-01 01:00 6534-6331
drwx--x--x  5 root sdcard_rw  4096 1970-08-30 03:22 emulated
drwxr-xr-x  2 root root         60 2017-10-11 08:04 self

Anschließend beendet man die Shell wieder und kopiert die alternativen Schriftdateien zunächst auf die separate SD-Karte:

exit
adb push ~/RobotoAlternative /storage/6534-6331/RobotoAlternative

Dann startet man eine Root-Shell, hängt den Ordner /system ein, wechselt in den Ordner /system/fonts, kopiert alle Dateien von der separaten SD-Karte in den Ordner /system/fonts und ändert die Zugriffsrechte dieser Dateien:

adb root
adb shell
mount -o remount,rw /system
cd /system/fonts
cp /storage/6534-6331/RobotoAlternative/Roboto*.ttf /system/fonts
chmod 644 Roboto*.ttf

Zur Sicherheit kann man mit ls -l noch mal einen Blick in den Ordner werfen, um zu sehen, ob alles okay ist (vor allem die Zugriffsrechte müssen stimmen: -rw-r--r--). Dann beendet man die Shell mit exit, entfernt das USB-Kabel und startet das Smartphone neu.

Kommentare zu dieser Seite

Diese Seite wurde noch nicht kommentiert.

Bitte verwende keine HTML-Tags, da der Eintrag sonst als Spam gefiltert wird!

(freiwillige Angabe)

Sicherheitsabfrage: Welche Zahl ist kleiner, 73562 oder 78009 ?