[WiP] Anleitung zur datenfreundlichen Installation von ShiftOS-L auf ≥Shift6m und Nutzung von Obtainium zur Appaktualisierung

Dwain Zwerg

Well-known member
Original poster
6 März 2023
2.261
Hallo,
ich dachte mir, dass ich aufgrund dieses und dieses Beitrags eine Anleitung, basierend auf dieser sehr guten Anleitung, erstelle. Ich bevorzuge allerdings Obtainium, deshalb wird diese Anleitung doch eine andere Ausrichtung haben als die verlinkte. Über Verbesserungen würde ich mich sehr freuen.
  1. Der dem Shiftphone beiliegenden Anleitung zur ersten Inbetriebnahme und dem Installationsassistenten des Shiftphones folgen. Dabei allerdings nicht die Sim-Karte in das Smartphone einlegen, keine WLan- (und auch keine Bluetoothtethering-) Daten angeben und das Smartphone nicht ans Ethernet-LAN lassen, sodass es keine Internetverbindung aufbauen kann. Außerdem möglichst wenig Datenschutzbestimmungen zustimmen.
  2. Das Shiftphone mit dem mitgelieferten USB-Kabel an einen anderen Computer (z. B. einem anderen Smartphone) anschließen.
  3. Mit dem anderen Computer das neueste ShiftOS-l-Release für dein Shiftphone von https://downloads.shiftphones.com/ runterladen und auf dein Shiftphone übertragen/speichern.
  4. Im Shiftphone in die Einstellungen gehen und dort „System“ (→ ggf. „Erweitert“) → „Systemaktualisierung auswählen“
  5. Rechts oben auf das Dreipunktmenü klicken und „Installiere lokale Datei“ auswählen.
  6. Die OTA Update Datei auswählen
    1. ggf. muss bei der Auswahl wieder rechts oben auf das Dreipunktmenü gedrückt werden und „Int. Speicher anzeigen“ ausgewählt werden.
    2. Danach den Drawer öffnen (links oben die drei Striche und „Shift 6m“ / „Shift 5me“ / „SHIFT6mq“ / „Shiftphone 8“ auswählen) den richtigen Dateipfad und die heruntergeladene Datei auswählen.
  7. Die Installation durchführen lassen und, wenn aufgefordert, das Gerät neustarten.
  8. Danach das Gerät auf Werkseinstellungen zurücksetzen:
    1. In den Einstellungen auf „System“ → „Erweitert“ → „Optionen zum Zurücksetzen“ → „Alle Daten löschen (Auslieferungszustand)“ o.ä. auswählen.
  9. Wenn ein Seedvault-Backup vorhanden: Das Seedvault-Backup auf eine SD-Karte verschieben. Diese SD-Karte in dein Shiftphone einlegen.
  10. Dem Einrichtungsassisten von ShiftOS-l folgen. Dabei wieder keine Sim-Karte einlegen, keine WLAN- oder Bluetoothtethering-Daten angeben. Falls ein Seedvault-Backup vorhanden ist: Bei der Wiederherstellung des Seedvault-Backups die Geräteeinstellungen aushäkseln, sodass die Netzwerkeinstellungen nicht wiederhergestellt werden.
  11. Verifizieren, dass das Update installiert wurde:
    1. In den Einstellungen auf „System“ → „Erweitert“ → „Systemaktualisierung“
    2. Auf dieser Ansicht sollte folgendes angezeigt werden:
      ShiftOS
      <Shiftversion>.<Unterversion> L
      Android <Version>
      „SHIFT“<name> gefolgt von „- release-light“
      <datum>
  12. Optional: Shift verwendet eine selbst gehostete Sentry-Instanz, um Abstürze und Bugs zu protokollieren. Dies kann unter Einstellungen → „Datenschutz & Sicherheit“ → „Mehr Sicherheit & Datenschutz“ deaktiviert werden.
  13. DNS-Server umstellen. Aus Datenschutz- wie auch aus Sicherheitsperspektive ist es sinnvoll einen DNS-Server festzulegen, um nicht den nehmen zu müssen, den dein Mobilfunkprovider dir vorsetzt. Womöglich ist die Verbindung zu diesem sogar noch nicht mal verschlüsselt. Dazu die Einstellungen öffnen, nach „Netzwerk & Internet“ navigieren und unter Privates DNS das DNS einstellen dem du vertraust. Ich hab da dns.keweon.center stehen.
  14. Optional: ShiftOS-l kommt zwar ohne Google Services aus, aber Google hat in Android manche eigentlich nicht datenschutzkritische Internetservices auf Google-Server hardcodiert. Die Komfortfunktion „Unterstütztes GPS“ kann unter Einstellungen → „Standort“ deaktiviert werden.
  15. Optional:ShiftOS-l kommt zwar ohne Google Services aus, aber Google hat in Android manche eigentlich nicht datenschutzkritische Internetservices auf Google-Server hardcodiert. Dies kann man via ADB umstellen. Dazu braucht man wieder ein anderes Gerät (vorzugsweise, ein Desktop-Betriebssystem, es geht aber auch Android).
    1. USB-Debugging auf deinem neuen Android-Gerät freischalten:
      1. Entwickleroptionen freischalten:
        1. Die Einstellungen auf deinem neuen Shiftphone öffnen.
        2. Nach „Über das Telefon“ navigieren.
        3. Mindestens sieben Mal auf den Eintrag „Build-Nummer“ tippen.
      2. USB-Debugging aktivieren:
        1. Die Einstellungen auf deinem Shiftphone öffnen.
        2. Nach („System“ →) „Entwickleroptionen“ → „USB-Debugging“ navigieren, den Umschalter auf aktiviert umlegen und auf „OK“ tippen.
        3. Optional (hilft beim Halten der ADB-Connection): Den Umschalter „Zeitlimit für ADB-Autorisierung deaktivieren“ auf aktiviert umlegen.
      3. Das Shiftphone mit dem anderen Gerät per USB-Kabel verbinden (am Besten das Shift-eigene verwenden). Dafür sorgen, das das Shiftphone nicht den Display abdunkelt. Dafür ist es hilfreich, wenn man entweder zweimal die Benachrichtigungsleiste runterzieht, um die Schnelleinstellungen zu finden und dann viermal auf den Button „Koffein“ tippt oder wenn man in den Entwickleroptionen den Umschalter „Bildschirm aktiv lassen“ auf an stellt.
    2. ADB auf dem anderen Gerät installieren (falls nicht schon vorhanden; Download) und ausführen. Exemplarisch für Windows:
      1. https://dl.google.com/android/repository/platform-tools-latest-windows.zip aufrufen und die heruntergeladene Datei an beliebigen Speicherplatz (z.B. Desktop oder Downloads) speichern.
      2. Den Dateipfad der heruntergeladenen Datei im Exporer öffnen.
      3. Auf diese Datei rechtsklicken.
      4. „Alle extrahieren…“auswählen und beliebigen Zielordner (z.B. Desktop oder Downloads) auswählen. Den Haken bei „Dateien nach Extrahierung anzeigen“ beibehalten.
      5. In den Ordner „platform-tools“ navigieren und in die Adresszeile cmd eingeben und auf Enter drücken.
      6. adb devices eingeben.
    3. Auf deinem neuen Android-Gerät poppt nun eine Aufforderung auf. Wähle optional „Von diesem Computer immer zulassen“, aber auf jeden Fall „Erlauben“.
    4. Gebe in ADB (dem Konsolenprgramm) erneut adb devicesein. Du solltest folgende Rückmmeldung erhalten:
      1. List of devices attached
        SPxxxxxxxxxxxxx device
    5. Ändere das Captive Portal wie hier beschrieben. Wichtig: Die Anführungszeichen in der Anleitung von kuketz sind falsch, verwende doppelte Anführungszeichen statt einfache.
    6. Ändere den NTP-Server wie hier beschrieben. Wähle allerdings einen deutschen NTP-Server wie z.B. de.pool.ntp.org. Das sähe dann so aus: adb shell settings put global ntp_server de.pool.ntp.org
    7. Die Einstellungen öffnen und nach („System“ →) „Entwickleroptionen“ → „USB-Debugging“ navigieren, um den Umschalter zu deaktivieren.
  16. Obtainium herunterladen. Dazu auf „app-arm64-v8a-release.apk“, auf „Herunterladen“, auf „Öffnen“ und auf „Einstellungen“ klicken. Den Umschalter „Aus dieser Quelle zulassen“ betätigen und auf „Installieren“ klicken.
  17. Anschließend in die Einstellungen → „Apps“ gehen und den Browser auswählen, über den du gerade Obtainium runtergeladen hast. Nach unten scrollen und auf „Unbekannte Apps installieren“ klicken und den Umschalter deaktivieren.
  18. Obtainium starten und alle angefragten Berechtigungen geben.
  19. Überlegen, welche Apps du benötigst. Brauchst du Banking-Apps? Die wirst du sehr wahrscheinlich nicht über Obtainium beziehen können. Dann wirst du also zusätzlich den AuroraStore (und vermutlich auch noch microG (emulieren die Google Play Services)) benötigen. Beide kannst du genauso wie alle anderen Apps über Obtainium runterladen (dazu später mehr).
  20. Die Apps über Obtainium beziehen:
    1. Es gibt für manche OpenSource-Apps mindestens zwei verschiedene Varianten, bei denen es nicht möglich ist, sie übereinander zu installieren, weil sie zwei verschiedene Signaturen tragen. Das eine sind die Apps direkt vom Entwickler (bzw. die vom Google Play Store), das andere die von F-Droid. Die Apps von F-Droid kommen nicht vom Entwickler, sondern vom F-Droid-Team. Das F-Droid-Team überprüft jede einzelne App-Version auf schädliches Verhalten, indem es die App (meist unverändert) aus dem Source-Code des App-Entwicklers baut. Die Updates der F-Droid-Versionen von Apps sind deshalb seltener und verspätet und man muss einer weiteren Partei (F-Droid) vertrauen, die vorgibt, die andere Partei (den jeweiligen App-Entwickler) zu überprüfen. Du kannst dir jetzt für diese Apps jeweils überlegen, von welcher Quelle du sie abrufen möchtest. Ich persönlich bevorzuge immer den Entwickler, aber das musst du entscheiden.
    2. Gehe auf den Tab „App hinzufügen“ und klicke in das Feld „Suche“. Gebe deinen Suchbegriff ein und wähle die jeweilige Quelle aus (wenn du die F-Droid-Version möchtest, hakst du F-Droid an und GitHub, GitLab und Codeberg aus; wenn du die Version vom Entwickler möchtest, hakst du F-Droid aus und GitHub, GitLab und Codeberg an). Außerdem können auch F-Droid-Drittparteienrepos durchsucht werden.
    3. Bei manchen Apps funktioniert dies nicht, weil die Entwickler nicht auf GitHub, GitLab oder Codeberg veröffentlichen. In dem Fall musst du wahrscheinlich (Ausnahme: Die Verteilung erfolgt über ein F-Droid-Drittparteienrepo) die URL der App in das obere Feld „Quell-URL der App“ eingeben und die Versionserkennung selbst konfigurieren. Weil dies nicht immer ganz einfach ist, gibt es für diese Apps die Seite https://apps.obtainium.imranr.dev/, auf der man einfach die richtige Konfiguration für seine App nach Obtainium übertragen kann. Dafür einfach auf den Button „App hinzufügen“ und anschließend auf „Weiter“ klicken. Wenn dir eine Konfiguration fehlt, kannst du auf den Request-Button drücken und Hamster45105 und LightWayUp werden dir helfen, eine gute Konfiguration zu finden.
    4. (AuroraStore: Wir hatten ja schon festgestellt, dass manche Apps nicht über Obtainium aktualisierbar sind. Diese können aber über den Aurora Store aktualisiert werden. Dazu muss er erst zu Obtainium hinzugefügt werden. Vom Aurora Store gibt es drei Varianten: Die Version vom Entwickler (über GitLab), die Version von F-Droid und die tagesaktuelle Nightly-Version (instabil!) vom Entwickler. Wähle deine Variante und klicke auf den jeweiligen Link.)
    5. (microG: Wir hatten ja bereits festgestellt, dass manche Apps nicht ohne microG laufen werden. microG kann aber mittels Obtainium runtergeladen werden: GMSCore; PlayStore/Companion/Vendig/FakeStore; Framework Proxy (Unofficial; for Android 15)
  21. microG einrichten (wenn benötigt):
    1. Öffne die App microG Settings (damit konfigurierst du dein microG Core). Du solltest nach Erlaubnissen (z.B. Zugriff auf Handy-Status) gefragt werden; stimme diesen zu.
    2. Starte dein Shiftphone neu.
    3. Gehe in die Einstellungen „Akku“ → Dreipunktmenü → Akkuoptimierung: Wähle aus allen Apps den microG Services Core aus und deaktiviere dafür die Optimierung.
    4. Öffne die App microG Settings: Über den Self-Check kannst du sehr einfach sehen, was funktioniert und was noch nicht. Evtl. fehlen noch ein paar Berechtigungen; du kannst ein paar der nicht ausgefüllten Boxen anklicken und diese damit setzen.
    5. Wenn deine App immer noch nicht funktioniert, aktiviere in den microG Settings Google SafetyNet.
    6. Wenn du Push-Notifications über Google Firebase Cloud Messaging abrufen möchtest:
    7. Aktiviere in den microG Settings Google device registration und Google Cloud Messaging.
    8. Gehe auf dein Telefon/Dailer und wähle *#*#2432546#*#* (das entspricht *#*#CHECKIN#*#*), um dein Shiftphone beim Cloud Messaging zu registrieren.
    9. Stelle zudem sicher, dass bei microG → Google Cloud Messaging → Dreipunktmenü → Advanced → Confirm new apps deaktiviert ist
    10. Starte dein Shiftphone neu
    11. Überprüfe in den microG Settings, ob in Google Cloud Messaging als Current State angezeigt wird: Verbunden/Connected.
    12. Installiere die App „Push Notification Tester“ aus dem AuroraStore und führe diesen aus.
  22. AuroraStore einrichten (wenn benötigt): Wähle aus den beiden Optionen („Mit Google anmelden“ oder „Anonym“): Wenn du „Anonym“ wählst, teilst du mit anderen Usern einen Fakeaccount und kannst keine gekauften Apps aktualisieren. Wenn du „mit Google anmelden“ wählst, kannst du zwar gekaufte Apps aktualisieren, aber Google kann dich auch leichter identifizieren und behält sich das Recht vor, deinen Account stillzulegen, weil du gegen die Nutzungsbedingungen verstößt.
PS: Es ist angedacht, irgendwann auch das Herunterladen über den Google Play Store (mit Google Konto) zu unterstützen: https://github.com/ImranR98/Obtainium/issues/343#issue-1607173852
 
Zuletzt bearbeitet:
  • Like
  • Love
Reaktionen: ToBias und MartinR