Dokumentation

Emulatorsteuerung für die adaptive App-Entwicklung

Lesezeit: 2 Minuten
Profil von Rob Orgiu ansehen
Rob Orgiu Developer Relations Engineer

Die adaptive App-Entwicklung ist auf Android von grundlegender Bedeutung. Damit alles gut aussieht und jede Funktion wie vorgesehen funktioniert, sind jedoch mehrere Tests auf mehreren Geräten erforderlich. Oder doch nicht?

Nun ja, ja … und nein! Android Studio enthält den Resizable Emulator, mit dem Sie Layouts manuell testen können. Es gibt jedoch eine schnellere und einfachere Möglichkeit, Formfaktoren direkt über das Terminal zu steuern. Mit Fire-and-Forget-Konsolenbefehlen, die über die adb-Emu-Verknüpfung aufgerufen werden, können Sie Befehle ausführen, die die Steuerung sofort an die aufrufende Shell zurückgeben. 

Wenn Sie mehrere Emulatoren gleichzeitig ausführen, können Sie ein bestimmtes virtuelles Gerät anvisieren, indem Sie die Seriennummer der Verknüpfung übergeben:

adb -s <serial> emu <command> <parameter>

Das Wichtigste zuerst: Auf- und Zuklappen

Wenn Sie faltbare Geräte testen möchten, können Sie das emulierte Gerät programmatisch ein- und ausklappen.

adb emu fold

Wenn Ihr faltbarer Emulator aufgeklappt ist, können Sie ihn zuklappen, um die kleinere Bildschirmkonfiguration anzuzeigen und das (virtuelle) externe Display einzuschalten. Wenn Sie den Emulator aufklappen und das interne Display einschalten möchten, führen Sie einfach Folgendes aus:

adb emu unfold

Sie können jetzt sofort überprüfen, ob der Status Ihrer App beibehalten wird und ob Layouts auf verschiedenen Displaygrößen genau so angezeigt werden, wie sie sein sollten.

Rotation, Rotation, Rotation

Die richtige Verarbeitung von Änderungen der Ausrichtung ist ein wichtiger Aspekt der Entwicklung adaptiver Apps. Sie können Geräteprogrammdrehungen programmatisch auslösen, um zu testen, wie gut Ihre App Konfigurationsänderungen, einschließlich der Wiederherstellung des Status, verarbeitet. Mit dem folgenden Befehl wird das Gerät um 90° im Uhrzeigersinn gedreht:

adb emu rotate

Körperhaltungen mit Sensoren simulieren

Wie sieht es aus, wenn ich den Emulator in eine bestimmte physische Position bringe, z. B. in den Modus „Auf dem Tisch“? Am einfachsten ist es, die Anzahl der verfügbaren Positionen mit abzufragen .

Listen Sie zuerst alle verfügbaren Sensoren und ihren aktuellen Status auf:

adb emu posture

Daraufhin wird eine Liste von Positionen ähnlich der folgenden zurückgegeben:

Usage: "posture <posture_id>" 1: closed	2: half-opened	3: opened	…

Sie können dann die Position „Auf dem Tisch“ mit der halb geöffneten ID aufrufen:

adb emu posture 2
Hinweis: Nicht alle Positionen werden von jedem virtuellen Gerät unterstützt. Standard-AVD-Vorlagen wie das Pixel Fold oder das AVD mit anpassbarer Größe unterstützen nur die Positionen 1, 2 und 3 . Wenn Sie versuchen, für diese Vorlagen den Wert 4 oder 5 festzulegen, wird der Fehler „KO: Failed to set posture“ zurückgegeben.

Was ist mit dem Emulator mit anpassbarer Größe?

Die Größe des Emulators lässt sich ganz einfach ändern. Mit dem Befehl „adb emu“ können Sie sie mit einem einzigen Befehl frei verschieben. Bevor Sie Änderungen vornehmen können, ist für das Abfragen der verfügbaren Voreinstellungen für die Größenänderung nur ein Aufruf erforderlich:

adb emu resize-display

Daraufhin wird die Liste der verfügbaren Geschenke zurückgegeben:

KO usage: "resize-display <index>" 0: phone	1: unfolded	2: tablet

Wenn Sie nun den Parameter „resize-display“ mit der gewünschten ID aufrufen, wird die Größe des Emulators entsprechend angepasst:

adb emu resize-display 1

Testen Sie noch heute effizienter

Geschafft! Wenn Sie Fire-and-Forget-Befehle in Ihren Befehlszeilen-Workflow einbinden, sparen Sie viel Zeit und Ressourcen im Vergleich zum gleichzeitigen Ausführen mehrerer Emulatoren.

Jetzt ist es an der Zeit, zu experimentieren. Wenn Sie diese Konsolenkürzel noch nicht verwendet haben, öffnen Sie das Terminal, starten Sie den Emulator, rufen Sie die Dokumentation auf und legen Sie noch heute los.

Geschrieben von:
Weiterlesen