ShiftOS in einem Emulator ausführen

amartinz

ShiftOS Developer
Original poster
ShiftOS Developer
SHIFT Staff
19 März 2018
1.929
30
Wolfsberg, Austria
Vorab, dieser Weg ist nicht wirklich für die normale Nutzung praktikabel und soll eher als Möglichkeit dienen unser ShiftOS zu erkunden, ohne Hardware dafür besitzen zu müssen bzw. ein Gerät zu flashen.

Diese System-Images basieren auf ShiftOS-L, kommen also ohne Google Services.
Somit ist es auch möglich ShiftOS-L zu erkunden, wenn z.B. bis jetzt nur ShiftOS-G (mit Google Services) bekannt ist und sich so ggf. auf einen Wechsel einzustellen.

Die bereitgestellten System-Images sind außerdem nicht immer auf dem aktuellsten Stand und werden nach einer Best-Effort-Basis veröffentlich.



Voraussetzungen​



Während es möglich ist auch nur den AVD-Manager zu verwenden, indem nur gewisse Pakete installiert werden, wird in dieser Anleitung eine volle Installation von Android Studio angenommen, da diese am Einfachsten ist und Experten, wenn notwendig, die relevanten Teile der Anleitung selbst umsetzen können, um an ShiftOS Images zu gelangen.

Dabei ist es egal, ob Linux, Windows oder macOS genutzt wird, da der Weg auf allen Systemen innerhalb von Android Studio gleich ist.



Einrichten der SDK Update Sites, um SHIFT Extras zu beziehen​


Sobald Android Studio installiert und zum ersten Mal geöffnet wurde, muss der SDK Manager geöffnet werden.

1748510038736.png


Dort den Tab SDK Update Sites auswählen und auf das "+" klicken, um eine neue Seite hinzuzufügen.

1748510124910.png


Anschließend einen Eintrag für das ShiftOS SDK hinzufügen:
  • Name
    • ShiftOS - SDK
  • URL
    • https://downloads.shiftphones.com/public/sdk/addon.xml

1748510175665.png

Erneut auf das "+" klicken, um eine weitere Seite hinzuzufügen.
Diesesmal für die ShiftOS System Images:
  • Name
    • ShiftOS - System Images
  • URL
    • https://downloads.shiftphones.com/public/sys-img/sys-img.xml
1748510397805.png

Der Tab SDK Update Sites sollte dann so aussehen:
1748510486307.png

Wenn das der Fall ist, "OK" drücken, um den SDK Manager zu schließen...



Installation der SHIFT Extras​


... um ihn dann erneut zu öffnen (wie am Anfang der Anleitung).

SDK Platforms sollte standardmäßig angezeigt werden. Falls nicht, bitte den Tab auswählen.
Am unteren Ende befinden sich dann 2 Checkboxes:
  • Hide Obsolete Packages
  • Show Package Details
Hier muss Show Package Details angehakt werden:
1748510682976.png

In diesem Beispiel nehmen wir ShiftOS 7, welches auf Android 15 basiert.
Hier muss Android 15.0 ("VanillaIceCream") gesucht werden, um die neuen ShiftOS Pakete zu finden.

(Optional) SDK Installation​


Um das SDK zu installieren (falls ihr eine App programmiert und ShiftOS APIs nutzen wollt), ShiftOS SDK v7 anhaken und auf "Apply" drücken, um es zu installieren.
Zurzeit ist das SDK nur für interne Nutzung gedacht, um die Entwicklung von System-Apps zu vereinfachen.
Für die Nutzung des SDKs wird später eine Anleitung bereitgestellt (vorerst nur zu Transparenz-Zwecken, da sie womöglich zurzeit niemand sinnvoll nutzen kann).

1748510941686.png

ShiftOS System Image Installation​


Nun zum wichtigsten Teil, der Installation der ShiftOS System Images.
ShiftOS x86_64 System Image auswählen und auf "Apply" drücken, um es zu installieren.
1748511017525.png

Nach der Installation auf "OK" drücken, um den SDK Manager wieder zu schließen.

Zurzeit werden nur x86_64 Images angeboten, da diese auf den meisten Host Systemen mit voller Geschwindigkeit ohne extra Overhead der ARM <--> x86 "Übersetzung" laufen.
Wir evaluieren, ob wir auch in Zukunft ARM64 Images anbieten werden.



Einrichten des Virtual Devices​


Zurück auf dem Hauptbildschirm von Android Studio wird diesesmal der Virtual Device Manager gestartet.
1748511407108.png

Im Virtual Device Manager auf das "+" drücken, um ein neues Gerät anzulegen.
1748511561574.png

Dort könnt ihr den Formfaktor aussuchen, den ihr bevorzugt.
Angehängt ist außerdem avd-SHIFTphone_8.xml, welches über Import hardware profile... importiert werden kann.
1748511698296.png
1748511742369.png

Somit wähle ich dann SHIFTphone 8 aus und drücke auf "Next", um das neue, virtuelle Gerät zu konfigurieren:
  • Name
    • "SHIFTphone 8" oder was euch gefällt
  • API
    • API 35 "VanillaIceCream"; Android 15.0
  • System Image
    • ShiftOS x86_64 System Image
  • Additional Settings
    • Nach belieben selbst einstellen
1748511841019.png

Abschließend nochmal alle Eingaben auf Richtigkeit überprüfen und auf "Finish" drücken, um das Gerät zu erstellen.
Euer neu erstelltes Gerät ist dann im Virtual Device Manager verfügbar!
1748512089973.png



Starten des virtuellen Gerätes​


Dazu einfach Android Studio starten, den Virtual Device Manager öffnen und auf den "Play" Knopf drücken.
1748512207411.png1748512219515.png1748512274552.png

Beim ersten Start ist es möglich, dass die Auflösung/Proportionen nicht richtig sind.
Dafür bitte den nächsten Abschnitt "Richtige DPI festlegen" durchführen.

Außerdem, falls ihr beim ersten Start nur eine Zurück-Taste in der Navigationsleiste habt, lange auf den "Power Knopf" der Emulator UI drücken und einen Neustart durchführen.
Dabei handelt es sich um einen Bug mit dem SetupWizard in Kombination mit Emulatoren, welchen wir noch beheben müssen (Priorität eher gering, da wir uns zuerst auf andere Baustellen fokussieren).

1748512434097.png

(Optional) Richtige DPI festlegen​


Falls ihr das SHIFTphone 8 nachstellen wollt, kann die DPI angepasst werden, damit die Proportionen passen.

Dazu müsst ihr die Konfigurationen des AVD direkt bearbeiten, indem der Virtual Device Manager geöffnet und beim Gerät bei den 3 Punkten rechts Show on Disk ausgewählt wird.
1748512919895.png

Es öffnet sich der Dateimanager, welcher zum Pfad der Konfigurationsdateien navigiert ist.
Dort müssen zwei Dateien bearbeitet werden:
  • config.ini
  • hardware-qemu.ini

Falls das virtuelle Gerät gestartet ist, dieses bitte stoppen, bevor Änderungen vorgenommen werden.
Die oben genannten Dateien öffnen und sicherstellen, dass folgende Werte richtig gesetzt sind:
Code:
hw.lcd.density=420
hw.lcd.height=2400
hw.lcd.width=1080

Speichern, Dateien schließen und das virtuelle Gerät kann gestartet werden.


 

Anhänge

Zuletzt bearbeitet:
wahrscheinlich werden jetzt einige den kopf schuttel, aber kann man mit dem emulator auch twrp testen?
 
wahrscheinlich werden jetzt einige den kopf schuttel, aber kann man mit dem emulator auch twrp testen?
Ist nicht dafür gedacht.

Ist das auf Basis vom Shiphone 8 oder Shift6mq? Oder ist das ziemlich das selbe ShiftOS L?
6mq und SHIFTphone 8 sind auf dem exakt selben Codestand, also ist das Selbe :)

Code:
/android/shiftphones/sos-7.x/device/shift/
├── axolotl
├── common
├── otter
└── sepolicy

Je nachdem, welches Gerät gebaut wird, werden verschiedene Konfiguration vom device/shift Verzeichnis geladen.
Wenn ich für das SHIFT6mq baue, nimmt es Konfigurationen vom axolotl Verzeichnis, für das SHIFTphone 8 das otter Verzeichnis.
Wenn ich die System Images für den Emulator bauen, fallen die gerätespezifischen Konfigurationen weg.
 
Zuletzt bearbeitet:
Hallo,

ich habe gerade nach der Anleitung installiert (Debian 12).
Hat alles super geklappt. Vielen Dank!

Es öffnet sich der Dateimanager, welcher zum Pfad der Konfigurationsdateien navigiert ist.
Dort müssen zwei Dateien bearbeitet werden:
  • config.ini
  • hardware-qemu.ini
Bei mir wurde hardware-qemu.ini erst nach dem ersten Start des virtuellen Gerätes erstellt.
D.h. einmal starten, damit die Datei erstellt wird, dann stoppen und dann ist hardware-qemu.ini da und kann bearbeitet werden.

Viele Grüsse
softkey
 
  • Like
Reaktionen: amartinz
Hallo,

ich habe gerade nach der Anleitung installiert (Debian 12).
Hat alles super geklappt. Vielen Dank!


Bei mir wurde hardware-qemu.ini erst nach dem ersten Start des virtuellen Gerätes erstellt.
D.h. einmal starten, damit die Datei erstellt wird, dann stoppen und dann ist hardware-qemu.ini da und kann bearbeitet werden.

Viele Grüsse
softkey
Danke vielmals, hab ich in der Anleitung angepasst! :)