TASIOMIND.DEV — OPERATIONAL▸▸▸FULL STACK DEVELOPER @ GWQ SERVICEPLUS AG▸▸▸FOUNDER — K8SGPT.AI▸▸▸OPEN SOURCE: ACTIVE▸▸▸DISTRIBUTED SYSTEMS / KUBERNETES / AI▸▸▸RUST + GO + PYTHON▸▸▸FIELD TESTED / STATUS — NOMINAL▸▸▸LOCATION: EUROPE/BERLIN▸▸▸TASIOMIND.DEV — OPERATIONAL▸▸▸FULL STACK DEVELOPER @ GWQ SERVICEPLUS AG▸▸▸FOUNDER — K8SGPT.AI▸▸▸OPEN SOURCE: ACTIVE▸▸▸DISTRIBUTED SYSTEMS / KUBERNETES / AI▸▸▸RUST + GO + PYTHON▸▸▸FIELD TESTED / STATUS — NOMINAL▸▸▸LOCATION: EUROPE/BERLIN▸▸▸

Google Play Store im Android Emulator auf macOS installieren

May 26, 2022

Einleitung

Diese Anleitung beschreibt sichere und zuverlässige Methoden, um den Google Play Store in einem Android Virtual Device (AVD) auf macOS zu installieren und zu konfigurieren. Es werden sowohl GUI-basierte als auch kommandozeilenorientierte Vorgehensweisen behandelt, ergänzt um Hinweise zu Backups, Fehlerbehebung, Automatisierung und Besonderheiten bei Apple Silicon (M1/M2).


Voraussetzungen

  • Android Studio: Eine aktuelle Version sollte installiert sein.
  • Android SDK Tools: Kommandozeilenwerkzeuge müssen verfügbar sein.
  • System-Image: Das passende google_apis_playstore System-Image muss über den SDK Manager installiert sein.

Um verfügbare System-Images mit Play Store aufzulisten, verwenden Sie folgenden Befehl:

code
sdkmanager --list | grep google_apis_playstore

Vorgehensweisen

Grundsätzlich gibt es zwei empfohlene Methoden:

  1. Neues AVD mit Play Store erstellen (Empfohlen): Dieser Ansatz ist der sauberste und am wenigsten fehleranfällige, da er ein offizielles System-Image mit vorintegriertem Play Store verwendet.
  2. Bestehendes AVD anpassen: Diese Methode ist nützlich, wenn ein vorhandenes virtuelles Gerät mit seinen Daten und Einstellungen beibehalten werden soll.

Option 1: Neues AVD mit Play Store erstellen (GUI)

  1. Öffnen Sie den Device Manager in Android Studio.
  2. Klicken Sie auf Create Device.
  3. Wählen Sie ein Hardwareprofil (z.B. Pixel 6).
  4. Wählen Sie ein System-Image aus, das in der Spalte "Play Store" ein entsprechendes Symbol aufweist.
  5. Schließen Sie den Assistenten ab und starten Sie das neue AVD. Der Play Store ist im Launcher verfügbar.

Diese Methode ist der offiziell unterstützte Weg und erfordert keine manuellen Eingriffe in Konfigurationsdateien.


Option 2: Bestehendes AVD anpassen

Folgen Sie diesem Ablauf, um ein bestehendes AVD sicher zu modifizieren.

1. Backup erstellen

Erstellen Sie vor jeder Änderung ein vollständiges Backup des AVD-Verzeichnisses:

code
cp -r ~/.android/avd/EMULATOR_NAME.avd ~/.android/avd/EMULATOR_NAME.avd.bak

2. AVD herunterfahren

Stellen Sie sicher, dass der Emulator vollständig geschlossen ist.

3. Konfigurationsdatei bearbeiten

Navigieren Sie zur config.ini des AVD. Der Standardpfad lautet ~/.android/avd/EMULATOR_NAME.avd/config.ini.

Passen Sie die folgenden Einträge an. Ersetzen Sie das google_apis Image durch das google_apis_playstore Image und aktivieren Sie den Play Store.

code
# Vorher
PlayStore.enabled=false
image.sysdir.1=system-images/android-32/google_apis/arm64-v8a/

# Nachher
PlayStore.enabled=true
image.sysdir.1=system-images/android-32/google_apis_playstore/arm64-v8a/

Wichtig: Die Android-Version und die Architektur (z.B. arm64-v8a) müssen mit dem bestehenden System übereinstimmen.

4. Daten löschen und Kaltstart durchführen

Ein "Wipe Data" und ein "Cold Boot" sind notwendig, um die Änderungen zu übernehmen.

  • GUI: Öffnen Sie den Device Manager, wählen Sie das AVD aus und klicken Sie auf Wipe Data und anschließend auf Cold Boot Now.
  • CLI:
    code
    emulator -avd EMULATOR_NAME -wipe-data
    emulator -avd EMULATOR_NAME -no-snapshot-load
    

5. Überprüfung

Starten Sie den Emulator. Der Play Store sollte nun verfügbar sein.


CLI: Neues AVD mit Play Store erstellen

  1. System-Image installieren:
    code
    sdkmanager "system-images;android-32;google_apis_playstore;x86_64"
    
  2. AVD erstellen:
    code
    avdmanager create avd -n myPixelPlay -k "system-images;android-32;google_apis_playstore;x86_64" --device "pixel_6"
    
  3. AVD starten:
    code
    emulator -avd myPixelPlay
    

Hinweise für Apple Silicon (M1/M2)

  • Verwenden Sie für eine native Performance ausschließlich arm64-v8a System-Images.
  • Nicht alle API-Level bieten ein Play-Store-Image für die ARM-Architektur. Überprüfen Sie die Verfügbarkeit mit sdkmanager --list.

Fehlerbehebung

  • Play Store fehlt: Überprüfen Sie den Pfad bei image.sysdir.1 in der config.ini und stellen Sie sicher, dass das System-Image existiert.
  • Play Store stürzt ab: Führen Sie Wipe Data und Cold Boot durch. Hilft dies nicht, erstellen Sie das AVD neu.
  • Emulator startet nicht: Aktualisieren Sie die Emulator- und SDK-Tools. Stellen Sie sicher, dass die Hardware-Virtualisierung (Hypervisor.framework) auf macOS aktiviert ist.

Zur Diagnose können Sie den Emulator im verbose-Modus starten:

code
~/Library/Android/sdk/emulator/emulator -avd EMULATOR_NAME -verbose

Automatisierung

Für wiederkehrende Aufgaben können Sie die Konfigurationsänderungen skripten, z.B. mit sed:

code
AVD_DIR=~/.android/avd/EMULATOR_NAME.avd
sed -i.bak 's/PlayStore.enabled=false/PlayStore.enabled=true/' "$AVD_DIR/config.ini"
sed -i.bak 's|google_apis/arm64-v8a|google_apis_playstore/arm64-v8a|' "$AVD_DIR/config.ini"

In CI/CD-Umgebungen können AVDs per avdmanager und sdkmanager erstellt und im Headless-Modus (-no-window) für automatisierte Tests gestartet werden.


Rückgängig machen

Um die Änderungen zurückzusetzen, stellen Sie das Backup wieder her oder löschen Sie das AVD und erstellen es neu.

code
# Backup wiederherstellen
mv ~/.android/avd/EMULATOR_NAME.avd.bak ~/.android/avd/EMULATOR_NAME.avd

# AVD löschen
avdmanager delete avd -n EMULATOR_NAME