Was ist ein Android-Emulator & wie wird er zum Testen verwendet?

Entdecken Sie, wie Sie bessere Software und Systeme in schnell wachsenden Umgebungen bereitstellen. Treten Sie unserer Community bei

Sie fragen sich, was ein Android-Emulator ist und wie er beim Testen Ihrer App helfen kann? In diesem Artikel erfahren Sie anhand von Beispielen alles, was Sie wissen müssen.

Im Jahr 2019 waren über 2,5 Milliarden aktive Android-Geräte im Umlauf. Diese Zahl steigt weiter an. Möglicherweise haben Sie Zugriff auf ein Android-Telefon oder -Gerät. Aber was, wenn nicht? Hier kann ein Android-Emulator helfen; er kann ein Android-Betriebssystem und eine entsprechende Benutzeroberfläche simulieren, sodass Sie Ihre Android-Anwendung testen können. 

Dieser Artikel enthält detaillierte Informationen über Android-Emulatoren, ihre Funktionsweise, ihre Verwendung und darüber, in welchem Umfang sie Ihre Android- und Webanwendungen korrekt testen können.

Ich werde folgende Themen behandeln:

Was sind Android-Emulatoren?

Android-Emulatoren sind Softwareprogramme, die die Hardware und Software eines mobilen Android-Geräts zu Entwicklungs- und Testzwecken nachbilden. Android-Emulatoren laufen auf Ihrem Mac oder PC, sodass Sie Android-zentrierte Anwendungen an Ihrem Schreibtisch erstellen können.

Screenshot eines Android-Emulators auf einem Mac
Android-Emulatoren können sowohl auf dem Mac als auch auf dem PC ausgeführt werden, sodass jeder Benutzer seine Anwendungen unter Android testen kann.

Das Spielen oder Testen von Spielen ist ein beliebter Grund für die Verwendung von Android-Emulatoren, aber Sie können damit auch jede im Google Play Store verfügbare Anwendung ausführen. Wenn Sie beispielsweise Ihre Instagram-App in einem Emulator ausführen, können Sie Fotos direkt von Ihrem Computer hochladen – etwas, das ansonsten unmöglich wäre.

Um zu verstehen, was ein Android-Emulator leisten kann, sollten Sie zunächst verstehen, wie er funktioniert. 

Wie funktionieren Android-Emulatoren?

Android-Emulatoren wie BlueStacks, NoxPlayer oder Genymotion sind Softwareanwendungen, die auf Ihrem Desktopcomputer installiert werden und die Software- und Hardwareerfahrung bei der Nutzung eines Android-Geräts simulieren können. Mit einem solchen Emulator können Gamer mobile

BlueStacks-Screenshot
BlueStacks, in diesem Screenshot zu sehen, ist ein Beispiel für einen beliebten Android-Emulator.

Android-Spiele auf dem PC spielen und Tester können Android-Anwendungen in Echtzeit entwickeln und testen. 

Emulatoren bilden die Architektur des jeweiligen Zielsystems nach. Daher finden Sie je nach Ihren Anforderungen Emulatoren für die verschiedensten Software- und Hardwaretypen.

Was ist Quick Emulator (QEMU)?

Screenshot von Quick Emulator
Quick Emulator wird verwendet, um die Emulation durch hardwaregestützte Virtualisierung zu beschleunigen.

Als Open-Source-Werkzeug läuft Quick Emulator auf vielen Hosts oder Arbeitsstationen wie Betriebssystemen/CPUs, um andere Gastbetriebssysteme/-CPUs zu emulieren.

QEMU ermöglicht es Android-Emulatoren, die Hardware eines Gastgeräts nachzubilden und an die eines Hostgeräts anzupassen. Es läuft als Programm auf Ihrem Computer und übersetzt die Anwendungsbinärschnittstelle des Gastsystems so, dass sie derjenigen eines Hostgeräts entspricht.

Die Übersetzung ist komplex und zeitaufwendig, wodurch die Emulation extrem langsam wird. Wenn die Architekturen des Host- und des Gastgeräts jedoch ähnlich sind, wird die Übersetzung einfach und schnell. 

Wenn die Anweisungsarchitektur Ihres Host- und Gastgeräts ähnlich ist, überspringt QEMU den Prozess der Binärübersetzung. Es führt das Gastgerät unmittelbar auf der CPU des Hostgeräts aus – ein Prozess, der als hardwaregestützte Virtualisierung bekannt ist.

Die Anpassung der Gerätearchitektur erfolgt mithilfe eines Hypervisors. 

WERDE TEIL DER COMMUNITY
Bereichern Sie Ihren Posteingang mit mehr Führungserkenntnissen aus der Tech-Welt für bessere Software und Systeme.
Get Free Access

Have an account? Log In

Wie funktionieren Hypervisoren?

Screenshot von VMware, einem Beispiel für einen Hypervisor
VMware ist ein Beispiel für einen Hypervisor.

Ein Hypervisor oder Monitor virtueller Maschinen (VMM) ist eine Software, die es einem Gerät, beispielsweise  einem Computer, ermöglicht, durch die gemeinsame Nutzung seiner Ressourcen wie Rechenleistung und Arbeitsspeicher mehrere Gast-VMs zu unterstützen. Hypervisoren helfen Ihnen, die Ressourcen eines Systems zu nutzen, und ermöglichen eine größere IT-Mobilität zwischen verschiedenen Servern.

Es gibt zwei Haupttypen von Hypervisoren: Typ 1 oder Hypervisoren ohne Hostbetriebssystem und Typ 2 oder gehostete Hypervisoren. 

  • Hypervisoren des Typs 1 fungieren als schlanke Betriebssysteme, die direkt auf der Hardware eines Hosts ausgeführt werden. 
  • Hypervisoren des Typs 2 werden wie andere Computeranwendungen und -programme als Software auf einem Betriebssystem ausgeführt und ermöglichen es Ihnen, eine Android-App über die Software auszuführen.

Vor 2017 erforderte die ARM-Architektur von Android eine Übersetzung durch einen Emulator von Android Developer Studio, um sie an die meisten auf PCs verwendeten Architekturen anzupassen.

Android veröffentlichte die Developer-Studio-Edition 25.3.0, die seinen Emulator weiterentwickelte, indem sie die Verbesserung der Virtualisierung über ein hardwaregestütztes Protokoll ermöglichte. Daher benötigen Sie einen Hypervisor, um hardwaregestützte Virtualisierung durchzuführen. Dabei ist zu beachten, dass verschiedene PC-Betriebssysteme unterschiedliche Hypervisoren unterstützen.

Intel verwendet den Hardwarebeschleunigungs-Ausführungsmanager HAXM als Hypervisor-Komponente für Windows-PC- und macOS-Plattformen, während Linux die kernelbasierte virtuelle Maschine KVM verwendet.

Die x86-Anwendungsbinärschnittstelle von Android unterstützt Hardwarebeschleunigung auf verschiedenen PCs. Wenn Sie jedoch die virtuelle Leistung Ihres Geräts erhöhen möchten, müssen Sie bei diesem Android-Emulator den Hypervisor installieren und aktivieren.

Hardwarebeschleunigung ermöglicht es einem Android-Emulator, Ihr virtuelles Gerät mit Geschwindigkeiten auszuführen, die denen Ihrer verwendeten CPU ähneln.  

So richten Sie einen Android-Emulator ein

Nach der Veröffentlichung der Edition 25.3.0 verteilte Android seinen Emulator getrennt von den SDK-Tools. Die Einrichtung Ihres Android-Emulators kann schwierig sein, aber hier finden Sie eine kurze Übersicht über den Vorgang. 

Hardwareanforderungen

Sie benötigen Android SDK Edition 26.1.1 oder höher. Ihr PC oder Laptop sollte über einen 64- oder 86-Bit-Prozessor verfügen, damit er mit dem Android-Emulator funktioniert.

Wenn Sie Android 8.1 oder eine höhere Version verwenden, benötigen Sie eine Webcam, die 720p-Bilder aufnehmen kann.

Bei den meisten Geräten fordert der Emulator Sie auf, die Hardwarebeschleunigung der Leistung Ihres Geräts zu erlauben. Dafür benötigen Sie den Intel-Hypervisor HAXM Edition 7.2.0. 

Benutzer von Linux- und Windows-Plattformen benötigen zusätzliche Geräteelemente, dies hängt jedoch von ihren Prozessoren ab.

  • Unter Linux können sich Benutzer auf das AMD-Virtualisierungssystem mit Erweiterungen des SIMD-Satzes 3 verlassen.
  • Unter Windows-PCs können sich Benutzer auf AMD Android Studio Edition 3.2 und höher verlassen, die mit der Windows-Hypervisor-API funktioniert.

Intel-Benutzer können Intel VT-x und die Unterstützung für Intel 64 sowie die Execute-Disable-(XD)-Bit-Funktion nutzen.

Nach der Installation Ihres Android-Emulators können Sie nun auf den Manager für virtuelle Android-Geräte (AVD Manager) zugreifen.

Manager für virtuelle Android-Geräte (AVD)

Screenshot des Managers für virtuelle Android-Geräte (AVD)
Mit dem Manager für virtuelle Android-Geräte können Benutzer ein System-ABI installieren, das der Architektur des verwendeten Prozessors entspricht.

Mit Ihrem AVD-Manager können Sie Ihre Android-Geräte einrichten und anpassen.

Er enthält vorkonfigurierte Profile für Smartphones, Tablets und Fernseher – jeweils speziell für die einzelnen Hersteller entwickelt. Sie können damit externe Funktionen und die Bildschirmgröße anpassen sowie ein Profil Ihrer Wahl importieren.

Der Google Play Store ist jedoch zusammen mit seiner Testsuite für die Kompatibilität nur auf einer begrenzten Anzahl von Geräten verfügbar – und zwar nur auf solchen, die mit dem Kompatibilitätsprogramm von Android übereinstimmen.

Der AVD-Manager ermöglicht es Ihnen, auf Ihrem virtuellen Gerät eine System-ABI zu installieren, die der Emulator empfiehlt und deren Architektur der Ihres verwendeten Prozessors entspricht.

Die Konfiguration Ihres AVD ermöglicht es Ihnen, festgelegte Software- oder Hardwareprofile zu ändern und Geräteeinstellungen wie Name und Ausrichtung zu konfigurieren.

Letztendlich startet Ihr Emulator Ihr virtuelles Gerät gemäß dessen Spezifikationen und ermöglicht zusätzliche Steuerungen und Anpassungen wie Geolokalisierung, Netzwerklatenz, Gerätedrehung, Fingerabdrucksensor, Kamera, Akkuzustand und weitere. 

Virtuelle Geräte ermöglichen es Ihnen, Ihre Instanzen in demselben Zustand zu speichern, in dem Sie sie schließen, sodass Sie später an der Stelle fortfahren können, an der Sie zuvor aufgehört haben.  

Wie werden Android-Simulatoren zum Testen verwendet?

Bevor Entwickler Änderungen an einem Codezweig vornehmen, testen sie den Code in Pipelines. Nach einem schnellen Einheitentest mit der IDE beginnen instrumentierte und funktionale Tests.

Ihr Android-Emulator ermöglicht es Ihnen, instrumentierte Tests auszuführen, beispielsweise zu überprüfen, ob ein Code zentrale Ressourcen und app-spezifische Dateien verarbeitet, und die Funktionalität Ihrer externen Abhängigkeiten zu testen.

Emulatoren unterstützen auch Leistungstests von Apps, um zu überprüfen, ob Interaktionen reibungslos ablaufen und Apps die Geräteressourcen innerhalb der erforderlichen Grenzen verwenden. Für genaue Ergebnisse sollten Sie sicherstellen, dass Sie die CPU- und Grafikfähigkeiten Ihres Geräts messen.

Ihr Android-Emulator ermöglicht es Ihren Geräten lediglich, mit nahezu nativen Geschwindigkeiten zu laufen. Daher sollten Sie von ihnen nicht genau dieselben Ergebnisse wie von nativen Geräten erwarten. Noch problematischer ist, dass Sie auf virtuellen Geräten die Leistung Ihrer Android-Apps nicht mit anderen Benchmarks vergleichen können.

Es gibt keine zuverlässige Lösung, mit der sich native Apps mit Android-Emulatoren in vergleichbaren Größenordnungen testen lassen. Für komplexe browserübergreifende Tests von Benutzeroberfläche und Funktionen benötigen Sie viele echte Geräte, damit Sie Chrome, Firefox, Safari und andere Browser testen können. 

Ingenieure verwenden Testautomatisierungsframeworks wie Espresso und Appium, um Testskripte zu erstellen und sie auf verschiedenen Android-Geräten auszuführen, damit sie anhand festgelegter Kompatibilitätsstandards geprüft werden können. 

Android-Emulator: Stärken und Schwächen

Android-Emulatoren ahmen echte Android-Geräte nach. Sie bringen jedoch auch einige Einschränkungen mit sich. 

Stärken

Zu den Funktionen Ihres Android-Emulators gehören eine schnelle Datenübertragung und die Kompatibilität mit physischen Sensoren wie Beschleunigungsmessern.

  1. Schnelle Datenübertragung

Android-Emulatoren helfen Ihnen, Daten schneller und effizienter zu übertragen als physische Geräte, die Sie über USB anschließen.

Ein Emulator bietet Funktionen zum Ziehen und Ablegen, mit denen Sie .apk-Dateien von Ihrer Arbeitsstation oder Ihrem Computer auf dem virtuellen Gerät speichern können. Dadurch können Entwickler Apps schneller und effektiver testen.

  1. Kompatibilität mit physischen Sensoren 

Android-Emulatoren sind nützlich, wenn Sie physische Sensoren wie Beschleunigungsmesser verwenden. Wenn Sie ein bestimmtes App-Element testen, das weitgehend auf Sensoren angewiesen ist, können Sie Ihre Einstellungen mithilfe der erweiterten Steuerungen Ihres Emulators leichter anpassen.

More Articles

Schwächen

Zu den Einschränkungen von Android-Emulatoren gehören Anforderungen an ARM-Prozessoren, Speicherplatzverbrauch, Schwierigkeiten bei der Hardwarebeschleunigung und eine unzuverlässige Verarbeitung von App-Interaktionen.

  1. Anforderungen an ARM-Prozessoren

Die meisten modernen PCs oder Laptops verwenden Intel x86, während der am häufigsten verfügbare Android-Chipsatz ARM v7a ist. Denken Sie daran, dass für eine schnelle Emulation die CPU-Architekturen von Host und Gast übereinstimmen müssen. Ohne ein Gerät mit ARM-Prozessor ist die Emulation daher unzureichend, insbesondere bei den meisten auf dem Markt erhältlichen Android-Geräten.

  1. Speicherplatz

Ihr AVD-Manager erstellt separate Verzeichnisse, um Daten virtueller Geräte, den Cache und Daten von SD-Karten getrennt zu speichern. Ein virtuelles Gerät belegt mehr als 3 GB des gesamten Speicherplatzes und kann abstürzen, wenn beim Start nicht genügend Speicherplatz vorhanden ist.

  1. Komplexität der Hardwarebeschleunigung

Hardwarebeschleunigung verbessert die Leistung, doch die Einrichtung ist selbst für erfahrene Entwickler komplex. Mitunter führt die Beschleunigung Ihrer Hardware zu einem vollständigen Systemausfall oder -stillstand.

  1. Mangelnde Zuverlässigkeit

Sobald die Wette auf dem Verständnis der Interaktionen von Apps mit der Umgebung des Hostgeräts beruht, werden Android-Emulatoren unzuverlässig.

Zum Beispiel wird es schwierig, die Hintergrundprozesse Ihrer Apps, deren Darstellung im Frontend & Helligkeitsstufen sowie die Reaktion der Apps auf verschiedene Berührungsgesten zu kennen. 

Welche Android-Emulatoren sind die besten?

Bei der Auswahl eines Android-Emulators für Ihr Projekt gibt es zahlreiche hervorragende Optionen, wie GameLoop und MEmu. Eine Liste der besten auf dem Markt verfügbaren Android-Emulatoren finden Sie hier, zusammen mit Tipps dazu, welche für Ihre spezifischen Anforderungen geeignet sind.

Wenn Sie Linux verwenden, kann unser Vergleich der Android-Emulatoren für Linux Ihnen dabei helfen, eine Option zu finden, die gut mit Ihrem Betriebssystem funktioniert.

Fazit

Android-Emulatoren haben die Gerätefunktionen und die Benutzererfahrung revolutioniert. Sie dienen zahlreichen Zwecken, etwa dem Testen von Anwendungen und dem Spielen auf großen Bildschirmen.

Ein Android-Emulator kann eine lohnenswerte Ergänzung Ihrer elektronischen Geräte sein, da er Ihnen ermöglicht, verschiedene Aspekte all Ihrer Geräte gleichzeitig miteinander zu verbinden.

Mit dem idealen Android-Emulator können Sie die Leistungsfähigkeit und Funktionalität Ihrer Geräte steigern und Ihre Benutzererfahrung mit ihnen verbessern.

Verwandten Podcast lesen/anhören: MOBILE-TESTING DER NÄCHSTEN GENERATION (MIT ERAN KINSBRUNER VON PERFECTO)

Jason Boog

In seiner 15-jährigen Laufbahn arbeitete Jason Boog als QA-Tester, QA-Analyst und Senior QA-Analyst an Videospielen, kommerziellen Websites und interaktiven Webanwendungen. Mehr als ein Jahrzehnt lang baute er als Director of Quality & Client Support bei einer Full-Service-Digitalagentur das QA-Team und den Prozess aus.

Follow the author:

You may also like