AVD - Android Virtual Device
Vielen Dank an @offsecjay für seine Hilfe bei der Erstellung dieses Inhalts.
Was ist
Android Studio ermöglicht es, virtuelle Maschinen von Android auszuführen, die Sie zum Testen von APKs verwenden können. Um sie zu verwenden, benötigen Sie:
Die Android SDK-Tools - Hier herunterladen.
Oder Android Studio (mit Android SDK-Tools) - Hier herunterladen.
In Windows (in meinem Fall) nach der Installation von Android Studio hatte ich die SDK-Tools installiert in: C:\Users\<Benutzername>\AppData\Local\Android\Sdk\tools
Auf dem Mac können Sie die SDK-Tools herunterladen und sie im PATH ausführen:
Oder aus dem Android Studio GUI, wie in https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-a angegeben, die sie in ~/Library/Android/sdk/cmdline-tools/latest/bin/
und ~/Library/Android/sdk/platform-tools/
und ~/Library/Android/sdk/emulator/
installieren.
Für die Java-Probleme:
GUI
Virtuelle Maschine vorbereiten
Wenn Sie Android Studio installiert haben, können Sie einfach die Hauptprojektansicht öffnen und auf folgendes zugreifen: Tools --> AVD Manager.
Klicken Sie dann auf Virtuelles Gerät erstellen
Wählen Sie das Telefon aus, das Sie verwenden möchten und klicken Sie auf Weiter.
Wenn Sie ein Telefon mit vorinstalliertem Play Store benötigen, wählen Sie eines mit dem Play Store-Symbol darauf aus!
In der aktuellen Ansicht können Sie das Android-Image auswählen und herunterladen, das auf dem Telefon ausgeführt wird:
Wählen Sie es aus und klicken Sie auf das Download Symbol neben dem Namen, falls es noch nicht heruntergeladen ist (warten Sie jetzt, bis das Image heruntergeladen ist).
Sobald das Image heruntergeladen ist, wählen Sie einfach Weiter
und Fertig
.
Die virtuelle Maschine wird erstellt. Jetzt wird sie jedes Mal, wenn Sie auf den AVD-Manager zugreifen, vorhanden sein.
Virtuelle Maschine starten
Um sie zu starten, drücken Sie einfach die Start-Schaltfläche.
Befehlszeilentool
Zunächst müssen Sie entscheiden, welches Telefon Sie verwenden möchten, um die Liste der möglichen Telefone anzuzeigen, führen Sie aus:
Sobald Sie sich für den Namen des Geräts entschieden haben, müssen Sie entscheiden, welches Android-Image Sie auf diesem Gerät ausführen möchten.
Sie können alle Optionen mit sdkmanager
auflisten:
Und laden Sie denjenigen (oder alle) herunter, den Sie verwenden möchten, mit:
Sobald Sie das Android-Image heruntergeladen haben, das Sie verwenden möchten, können Sie mit folgendem Befehl alle heruntergeladenen Android-Images auflisten:
Zu diesem Zeitpunkt haben Sie sich für das Gerät entschieden, das Sie verwenden möchten, und das Android-Image heruntergeladen, sodass Sie die virtuelle Maschine erstellen können, indem Sie:
Im letzten Befehl habe ich eine VM mit dem Namen "AVD9" erstellt, die das Gerät "Nexus 5X" und das Android-Image "system-images;android-28;google_apis;x86_64" verwendet hat. Jetzt kannst du die erstellten virtuellen Maschinen auflisten:
Virtuelle Maschine ausführen
Wir haben bereits gesehen, wie Sie die erstellten virtuellen Maschinen auflisten können, aber Sie können sie auch mit folgendem Befehl auflisten:
Du kannst einfach eine erstellte virtuelle Maschine ausführen, indem du:
Oder Sie können eine virtuelle Maschine wie folgt ausführen, indem Sie fortgeschrittenere Optionen verwenden:
Befehlszeilenoptionen
Es gibt jedoch viele verschiedene nützliche Befehlszeilenoptionen, die Sie verwenden können, um eine virtuelle Maschine zu starten. Nachfolgend finden Sie einige interessante Optionen, aber Sie können hier eine vollständige Liste finden
Boot
-snapshot name
: Starten Sie die VM-Snapshot-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
: Listet alle aufgezeichneten Snapshots auf
Netzwerk
-dns-server 192.0.2.0, 192.0.2.255
: Ermöglicht die Angabe der DNS-Server für die VM durch Kommas getrennt.-http-proxy 192.168.1.12:8080
: Ermöglicht die Angabe eines HTTP-Proxys (sehr nützlich, um den Datenverkehr mit Burp zu erfassen)-port 5556
: Legt die TCP-Portnummer fest, die für die Konsole und adb verwendet wird.-ports 5556,5559
: Legt die TCP-Ports für die Konsole und adb fest.-tcpdump /path/dumpfile.cap
: Erfasst den gesamten Datenverkehr in einer Datei
System
-selinux {disabled|permissive}
: Legt das Security-Enhanced Linux-Sicherheitsmodul auf einem Linux-Betriebssystem entweder auf deaktiviert oder permissiv fest.-timezone Europe/Paris
: Legt die Zeitzone für das virtuelle Gerät fest-screen {touch(default)|multi-touch|o-touch}
: Legt den emulierten Touchscreen-Modus fest.-writable-system
: Verwenden Sie diese Option, um während Ihrer Emulationssitzung ein beschreibbares Systemabbild zu haben. Sie müssen auchadb root; adb remount
ausführen. Dies ist sehr nützlich, um ein neues Zertifikat im System zu installieren.
Rooting eines Play Store-Geräts
Wenn Sie ein Gerät mit Play Store heruntergeladen haben, können Sie nicht direkt rooten, und Sie erhalten diese Fehlermeldung
Verwendung von rootAVD mit Magisk konnte ich es rooten (folge zum Beispiel diesem Video oder diesem).
Burp-Zertifikat installieren
Überprüfen Sie die folgende Seite, um zu erfahren, wie Sie ein benutzerdefiniertes CA-Zertifikat installieren:
pageInstall Burp CertificateNette AVD-Optionen
Ein Schnappschuss machen
Sie können die GUI verwenden, um jederzeit einen Schnappschuss der VM zu machen:
Last updated