Der Emulator für Entwickler von Google Play Spiele auf dem PC ist ein auf Entwickler ausgerichteter Emulator für Google Play Spiele auf dem PC. Im Gegensatz zum Player können Sie hier eigene Pakete installieren und beheben. Sie können auch verschiedene Spielerkonfigurationen wie das Seitenverhältnis, die Mausemulation und das Grafik-Backend simulieren, um sicherzustellen, dass Ihr Spiel auf einer Vielzahl von PC-Konfigurationen wie erwartet funktioniert.
Emulator starten
Nach der Installation wird im Startmenü das Element „Google Play Spiele-Entwickleremulator“ und eine Desktopverknüpfung zum Starten des Emulators angezeigt. Der Emulator bleibt im Infobereich, wenn Sie das Fenster schließen.
Melde dich an.
Wenn Sie den Emulator zum ersten Mal ausführen, werden Sie aufgefordert, sich in Ihrem Google-Konto anzumelden. Verwenden Sie dieselben Anmeldedaten, die Sie für die Entwicklung verwenden möchten.
Sie können sich abmelden, indem Sie mit der rechten Maustaste auf das Symbol im Infobereich klicken, Entwickleroptionen auswählen und dann auf Abmeldung erzwingen klicken. Daraufhin wird der Emulator sofort neu gestartet und Sie werden aufgefordert, sich noch einmal anzumelden.
Navigation
Nach dem Start wird ein typischer Android-Startbildschirm angezeigt. Linksklicks werden wie im Maus-Emulationsmodus direkt in Fingertippen umgewandelt. Spiele, die für die Entwicklung per Sideload installiert wurden, werden in der Anwendungsliste angezeigt. Sie können sie aufrufen, indem Sie auf dem Desktop klicken und den Mauszeiger nach oben ziehen (was einem Wischen nach oben auf einem Smartphone oder Tablet entspricht).
Neben der Mausnavigation bietet der Entwickleremulator von Google Play Spiele auf dem PC auch Tastaturkürzel zur Verbesserung der Navigation:
Strg + H : Startbildschirmtaste drückenStrg + B : Zurück-Schaltfläche drückenF11 oderAlt + Eingabetaste : Zwischen Vollbildmodus und Fenstermodus wechselnUmschalttaste + Tabulatortaste : Öffnet das Overlay von Google Play Spiele auf dem PC, einschließlich der aktuellen Tastenzuordnungen für das Eingabe-SDK.
Spiele installieren
Der Google Play Spiele-Emulator für Entwickler verwendet die Android Debug Bridge (adb), um Pakete zu installieren.
ADB-Kompatibilität
Aktuelle Versionen von adb
sind mit dem Emulator für Entwickler von Google Play Spiele auf dem PC kompatibel.
Außerdem wird beim Installieren des Emulators eine kompatible Version unter C:\Program
Files\Google\Play Games Developer Emulator\current\emulator
installiert.
Damit Sie dieser Anleitung folgen können, muss adb in Ihrem $PATH
verfügbar sein. Mit dem Befehl adb devices
können Sie prüfen, ob adb
richtig konfiguriert ist.
adb devices
List of devices attached
localhost:6520 device
Spiel installieren
Google Play Games for PC Emulator
startenGeben Sie
adb devices
in die Eingabeaufforderung ein. Sie sollten Folgendes sehen:adb devices List of devices attached localhost:6520 device
Fehlerbehebung:
- Wenn Sie eine Fehlermeldung erhalten, prüfen Sie, ob Sie der Anleitung unter Adb-Kompatibilität gefolgt sind.
- Wenn kein Gerät angezeigt wird, versuchen Sie, eine Verbindung über Port
6520
herzustellen:
adb connect localhost:6520
Geben Sie
adb install path\to\your\game.apk
ein, um das Spiel zu installieren. Wenn Sie ein Android App-Bundle (aab) generiert haben, lesen Sie die Anleitung für bundletool und verwenden Sie stattdessenbundletool install-apks
.Führen Sie Ihr Spiel auf folgende Weise aus:
- Geben Sie
adb shell monkey -p your.package.name 1
ein, um Ihr Spiel auszuführen. Ersetzen Sie dabeiyour.package.name
durch den Paketnamen Ihres Spiels. - Klicken Sie im Entwickleremulator von Google Play Spiele auf dem PC auf das Symbol, um Ihr Spiel auszuführen. Wie bei einem Android-Smartphone müssen Sie auf dem Startbildschirm nach oben wischen, um die Liste der installierten Spiele aufzurufen.
- Geben Sie
Spiele debuggen
Verwenden Sie die Android Debug Bridge (adb) zum Debuggen wie bei jedem anderen Spiel.
Der Emulator wird als Gerät angezeigt, das über localhost:6520
verbunden ist.
adb logcat
funktioniert wie erwartet, ebenso wie Tools, mit denen sich die Logcat-Ausgabe formatieren oder filtern lässt, einschließlich Android Studio.
Zusätzlich zu adb
können Sie auch im Verzeichnis %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs
auf Protokolle zugreifen. Am nützlichsten ist hier AndroidSerial.log
, das alles darstellt, was adb logcat
ab dem Start des Emulators ausgegeben würde.
Entwicklereinstellungen
Der Emulator für Entwickler von Google Play Spiele auf dem PC ist eher auf die Effizienz von Entwicklern als auf die Nutzerfreundlichkeit ausgerichtet. Das bedeutet, dass Sie uneingeschränkten Zugriff auf das Android-System haben, einschließlich der Verwendung des standardmäßigen Android-Launchers anstelle von Google Play Spiele auf dem PC. Außerdem können Sie Funktionen steuern, die für Spieler sonst automatisch aktiviert und deaktiviert werden.
Mauseingabe testen
Während der Entwicklung verwendet der Entwickleremulator für Google Play Spiele auf dem PC standardmäßig die Touch-Emulation, anstatt eine direkte Mauseingabe zu ermöglichen. Sie können die direkte Mauseingabe aktivieren, indem Sie mit der rechten Maustaste auf das Symbol in der Taskleiste klicken, Entwickleroptionen und dann PC-Modus (KiwiMouse) auswählen.
Google Play Spiele auf dem PC bietet zwei Mausmodi: einen emulierten Modus, der Mausklicks in einzelne Tippaktionen umwandelt, und einen „PC-Modus“ mit Passthrough, mit dem Spiele Mausaktionen nativ verarbeiten und den Mauszeiger erfassen können. Weitere Informationen zur Mauseingabe in Google Play Spiele auf dem PC finden Sie unter Mauseingabe einrichten.
Füge deinem Manifest Folgendes hinzu, um die Emulation im Player-Client zu deaktivieren:
<manifest ...>
<uses-feature
android:name="android.hardware.type.pc"
android:required="false" />
...
</manifest>
Dieses Feature-Flag hat in der Entwicklungsumgebung keine Auswirkungen.
Seitenverhältnisse testen
Der Entwickleremulator wird im Seitenverhältnis 16:9 gestartet, im Gegensatz zum Player-Client, dessen Seitenverhältnis vom primären Display abgeleitet wird. Wenn Sie mit der rechten Maustaste auf das Symbol in der Taskleiste klicken, Entwickleroptionen auswählen und dann eine beliebige Option im Bereich Bildschirmseitenverhältnis auswählen, können Sie testen, wie das Spiel auf den Bildschirmen verschiedener Spieler aussieht.
Die bevorzugte Methode zum Konfigurieren des Seitenverhältnisses ist die Verwendung von android:minAspectRatio
und android:maxAspectRatio
.
Ein Spiel im Hochformat hat beispielsweise ein Seitenverhältnis von 9/16
oder 0.5625
. Sie können dann ein maximales Seitenverhältnis von 1
festlegen, damit Ihr Spiel nicht breiter als quadratisch wird:
<activity android:maxAspectRatio="1">
...
</activity>
Ein Spiel im Querformat hat ein Seitenverhältnis von 16/9
oder etwa 1.778
. Daher sollten Sie ein Mindestseitenverhältnis von 1
festlegen, damit das Bild nicht schmaler als ein Quadrat wird:
<activity android:minAspectRatio="1">
...
</activity>
Was Sie testen sollten
Wenn Ihr Spiel im Manifest nur Hochformate unterstützt, können Sie im Drop-down-Menü 9:16 (Hochformat) auswählen, um zu sehen, wie es auf den PCs der Spieler aussieht. Andernfalls prüfen Sie, ob Ihr Spiel mit den breitesten und schmalsten Querformaten funktioniert, die Sie in Ihrem Manifest unterstützen. Denken Sie daran, dass 16:9 (Standard) (oder 9:16 (Hochformat), wenn Ihr Spiel nur im Hochformat ist) für die vollständige Zertifizierung erforderlich ist.
Rendering-Backends testen
In Google Play Spiele auf dem PC werden Ihre Spiele mit Vulkan gerendert, was sowohl für Android- als auch für PC-Umgebungen üblich ist. Eine Sandbox-Ebene wird verwendet, um die PC- und Android-Umgebungen zu isolieren. Da viele Spiele noch OpenGL ES für das Rendering verwenden, wandelt ANGLE OpenGL ES-Befehle in Vulkan-Befehle um, die mit dem Host-PC kompatibel sind.
Außerdem maximiert Google Play Spiele auf dem PC die Spielkompatibilität und minimiert den Aufwand für Entwickler, indem es während der Laufzeit automatisch mobilfreundliche Texturformate wie ETC1 und ETC2 in PC-freundliche Formate konvertiert. Die besten Ergebnisse erzielen Sie, wenn Sie diese Konvertierung vermeiden und stattdessen von PC-GPUs unterstützte Formate wie DXTC oder BPTC verwenden.
Was Sie testen sollten
Wenn in Ihrem Spiel unerwartete Rendering-Artefakte auftreten, prüfen Sie Ihre Quellgrafiken und ziehen Sie in Betracht, zu einem PC-freundlichen Format zu wechseln. Achten Sie besonders auf Texturen, die für erweiterte Effekte verwendet werden, da Probleme mit Normal- oder Würfelkarten oft schwieriger zu erkennen sind als Probleme mit Albedo.
Die Umwandlung Ihrer OpenGL ES-Befehle in Vulkan durch ANGLE führt zu einem gewissen Overhead. Prüfen Sie, ob Sie Ihre erwarteten Leistungsziele erreichen, und erwägen Sie einen Wechsel zu einem Vulkan-basierten Renderer.
PC-Spiele profilieren
Da der Emulator dieselbe Technologie wie der Consumer-Client verwendet, ist er eine geeignete Umgebung für das Leistungsprofil.
Perfetto ist ein Tool zur Analyse der Leistung unter Android. So erfassen und rufen Sie einen Perfetto-Trace auf:
Starten Sie in einer PowerShell-Eingabeaufforderung eine Trace-Datei mit
adb
.adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
- Das Flag
--time
gibt die Dauer der zu erfassenden Traces an. In diesem Beispiel beträgt die Zeitspanne 10 Sekunden. - Die Argumente nach dem Flag
--time
geben an, welche Ereignisse erfasst werden sollen. In diesem Beispiel stehengfx
für Grafiken,wm
für die Fensterverwaltung undsched
für Informationen zur Prozessplanung. Dies sind gängige Flags für das Profiling von Spielen. Eine vollständige Referenz ist verfügbar. - Das Flag
--out
gibt die Ausgabedatei an, die im nächsten Schritt aus dem Emulator auf den Hostcomputer kopiert wird.
- Das Flag
Trace vom Host abrufen
adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
Trace in der Perfetto-Benutzeroberfläche öffnen
- Öffnen Sie ui.perfetto.dev.
- Wählen Sie links oben unter Navigation die Option Tracedatei öffnen aus.
- Öffnen Sie die Datei
example.trace
, die Sie im vorherigen Schritt in das VerzeichnisDownloads/
heruntergeladen haben.
Prüfen Sie den Trace in der Perfetto-Benutzeroberfläche. Ein paar Tipps:
- Jeder Prozess hat eine eigene Zeile, die maximiert werden kann, um alle Threads in diesem Prozess anzuzeigen. Wenn Sie ein Spiel profilieren, ist der Prozess wahrscheinlich in der ersten Zeile.
- Sie können heran- und herauszoomen, indem Sie die Strg-Taste gedrückt halten und das Scrollrad verwenden.
- Wenn Sie das Ereignis
sched
verwenden, gibt es für jeden Thread eine Zeile, in der der Status dieses Threads (in Ausführung, ausführbar, inaktiv oder blockiert) angezeigt wird. - Wenn Sie ein Ereignis wie
gfx
aktivieren, sehen Sie die verschiedenen Grafikaufrufe, die von verschiedenen Threads getätigt werden. Sie können einzelne „Segmente“ auswählen, um zu sehen, wie lange sie gedauert haben. Sie können auch eine Zeile ziehen, wodurch unten der Bereich „Segmente“ geöffnet wird und Sie sehen, wie lange alle Segmente im ausgewählten Zeitraum gedauert haben.
Grafikprofilierung
Mit RenderDoc können Sie einige Grafikprofile erstellen.
- Legen Sie die Umgebungsvariable
ANDROID_EMU_RENDERDOC
auf einen nicht leeren String fest, z. B."1"
. Legen Sie die Umgebungsvariable
TMP
auf%USERPROFILE%\AppData\LocalLow
fest. Dadurch wird Renderdoc angewiesen, seine Protokolldateien an einem innerhalb der Emulator-Sandbox erreichbaren Speicherort abzulegen.Wenn Sie das Vulkan-Backend verwenden. Wählen Sie Grafikeinstellungen > Vulkan-Instanz – implizite Ebenen aus und achten Sie darauf, dass VKLAYER_RENDERDOC_Capture aktiviert ist.
Starten Sie den Google Play Spiele auf dem PC-Entwickleremulator. Solange die Unterstützung aktiviert ist, wird oben ein RenderDoc-Overlay angezeigt.
Sie können RenderDoc jederzeit vor oder nach der Veröffentlichung des Emulators für Entwickler von Google Play Spiele auf dem PC starten.
Klicken Sie auf Datei > An laufende Instanz anhängen und wählen Sie crosvm aus.
Umgebungsvariablen angeben
Damit Renderdoc funktioniert, müssen Sie in Windows Umgebungsvariablen hinzufügen oder ändern. Sie können Umgebungsvariablen über die Benutzeroberfläche, PowerShell oder cmd.exe ändern.
Benutzeroberfläche verwenden
- Drücken Sie
Win + R , um das Dialogfeld „Ausführen“ zu öffnen. - Geben Sie
sysdm.cpl
ein, um das Fenster Systemeigenschaften zu öffnen. - Wählen Sie den Tab Erweitert aus, falls er noch nicht aktiv ist.
- Klicken Sie auf die Schaltfläche Umgebungsvariablen.
Sie können entweder auf die Schaltfläche Neu klicken, um eine neue Umgebungsvariable zu erstellen, oder eine Variable auswählen und auf die Schaltfläche Bearbeiten klicken, um sie zu bearbeiten.
PowerShell verwenden
Geben Sie in einem PowerShell-Fenster Folgendes ein:
$Env:VARIABLE_NAME=VALUE
Ersetzen Sie VARIABLE_NAME
und VALUE
durch die gewünschten Werte. So legen Sie beispielsweise ANDROID_EMU_RENDERDOC
als "1"
-Typ fest:
$Env:ANDROID_EMU_RENDERDOC="1"
cmd.exe verwenden
Geben Sie in einem cmd.exe-Fenster Folgendes ein:
set VARIABLE_NAME=VALUE
Ersetzen Sie VARIABLE_NAME
und VALUE
durch die gewünschten Werte. So legen Sie beispielsweise ANDROID_EMU_RENDERDOC
als "1"
-Typ fest:
set ANDROID_EMU_RENDERDOC="1"
Tipps für Android 11 (API-Level 30) oder höher
Google Play Spiele auf dem PC wird mit den neuesten Android-Releases aktualisiert. Hier sind einige Tipps für die Arbeit mit der neuesten Android-Version.
Tools auf dem neuesten Stand halten
Android Studio installiert eine Version von adb, die mit dem Entwickleremulator kompatibel ist. Einige Game Engines enthalten jedoch eine ältere Version von adb. In diesem Fall finden Sie nach der Installation des Entwickleremulators eine kompatible Version von adb
unter C:\Program Files\Google\Play Games Developer
Emulator\current\emulator
.
Wenn Sie eine Version von adb
starten, wird die andere beendet. Wenn Ihre Game-Engine also automatisch eine eigene adb
-Instanz startet, müssen Sie die mit dem Entwickleremulator gelieferte Version von adb
möglicherweise jedes Mal neu starten und wieder verbinden, wenn Sie eine Bereitstellung ausführen.
Wenn Sie ein Android-App-Bundle verwenden, müssen Sie die neueste Version von Bundletool aus dem GitHub-Repository installieren.
Speicher mit Begrenzung
Android 11 (API-Level 30) oder höher bietet begrenzten Speicher, der App- und Nutzerdaten im externen Speicher besser schützt. Sie müssen Ihr Spiel nicht nur mit den Anforderungen an den Speicherplatz kompatibel machen, sondern auch zusätzliche Schritte ausführen, um APK-Erweiterungsdateien (obb) oder Asset-Daten in den Google Play Spiele-Entwickleremulator auf dem PC zu laden. Führe die folgenden Schritte aus, wenn du Probleme beim Zugriff auf diese Dateien über dein Spiel hast:
- Erstellen Sie ein Verzeichnis, das von Ihrer App gelesen werden kann.
- Übertragen Sie die Erweiterungsdateien an den Emulator.
adb shell mkdir /sdcard/Android/obb/com.example.game
adb push main.com.example.game.obb /sdcard/Android/obb/com.example.game
Sichtbarkeit von Paketen
Aufgrund der neuen Regeln zur Paketsichtbarkeit können Apps, die auf Android 11 (API-Level 30) oder höher ausgerichtet sind, keine Informationen zu anderen auf einem Gerät installierten Apps abfragen. Das bedeutet, dass Ihr Spiel nicht auf die Play-Dienste zugreifen kann, wenn es über adb
statt über den Play Store installiert wird. Wenn Sie Ihre In-App-Produkte mit einem per Sideload installierten Spiel testen möchten, müssen Sie dem Paket „com.android.vending
“ in der Datei „AndroidManifest.xml
“ eine Abfrage hinzufügen. Gehen Sie dazu so vor:
<manifest>
<queries>
<package android:name="com.android.vending" />
</queries>
</manifest>
Spiel im Kundenclient installieren
Sie können ein Spiel erst auf dem Kundenclient installieren, wenn es im Play Spiele-Dienstkatalog aufgeführt ist. Nachdem Sie einen Release für Ihr Spiel veröffentlicht haben, können Sie einen internen Test-Track erstellen, um zukünftige Updates vor der Veröffentlichung zu validieren.
Der Player-Client unterstützt nicht die für Entwickler konzipierten Funktionen des Emulators für Google Play Spiele auf dem PC. Diese Methode eignet sich am besten für die QA des Spiels vor der Veröffentlichung und für den End-to-End-Test der Nutzerfreundlichkeit nach der Erstveröffentlichung.