Emulator dla deweloperów Gier Google Play na PC to przeznaczony dla programistów emulator Gier Google Play na PC. W przeciwieństwie do odtwarzacza możesz tu instalować i debugować własne pakiety. Możesz też symulować różne konfiguracje odtwarzacza, np. format obrazu, emulację myszy i backend grafiki, aby mieć pewność, że gra będzie działać zgodnie z oczekiwaniami w różnych konfiguracjach komputera.
Uruchamianie emulatora
Po zainstalowaniu zobaczysz element menu Start „Emulator dla deweloperów Gier Google Play” oraz skrót na pulpicie do uruchamiania emulatora. Po zamknięciu okna emulator pozostanie w obszarze powiadomień.
Logowanie się
Przy pierwszym uruchomieniu emulatora pojawia się prośba o zalogowanie się na konto Google. Użyj tych samych danych logowania, których zamierzasz używać na potrzeby programowania.
Aby się wylogować, kliknij prawym przyciskiem myszy ikonę na pasku zadań, wybierz Opcje programisty, a następnie kliknij Wymuś wylogowanie. Gdy to zrobisz, emulator natychmiast uruchomi się ponownie i poprosi o zalogowanie się jeszcze raz.
Nawigacja
Po uruchomieniu wyświetla się standardowy ekran główny Androida. Kliknięcia lewym przyciskiem myszy są przekładane bezpośrednio na dotknięcia palcami, tak jak w trybie emulacji myszy. Gry pobrane z innego urządzenia do programowania pojawiają się na liście aplikacji, którą można otworzyć, klikając i przeciągając w górę na pulpicie (emulując przesunięcie palcem w górę na telefonie lub tablecie).
Oprócz tłumaczenia myszą emulator dla deweloperów Gier Google Play na PC udostępnia skróty klawiszowe, które usprawniają nawigację:
Ctrl + H : naciśnij przycisk ekranu głównegoCtrl + B : naciśnij przycisk WsteczF11 lubalt + Enter : przełączanie się między trybem pełnoekranowym a trybem oknashift + Tab : otwieranie nakładki Gry Google Play na PC, w tym aktualne mapowania klawiszy na potrzeby pakietu wejściowego SDK
Instalowanie gry
Emulator dla deweloperów Gier Google Play na PC korzysta z narzędzia Android Debug Bridge (adb) do instalowania pakietów.
zgodność z adb
Bieżące wersje aplikacji adb
są zgodne z Emulatorem dla deweloperów Gier Google Play na PC.
Dodatkowo podczas instalacji emulatora na C:\Program
Files\Google\Play Games Developer Emulator\current\emulator
instalowana jest zgodna wersja.
Aby wykonać te instrukcje, usługa adb powinna być dostępna w usłudze $PATH
. Aby sprawdzić, czy profil adb
jest prawidłowo skonfigurowany, użyj polecenia adb devices
adb devices
List of devices attached
localhost:6520 device
Zainstaluj grę
- Uruchom:
Google Play Games for PC Emulator
W wierszu polecenia wpisz
adb devices
. Zobaczysz, że:adb devices List of devices attached localhost:6520 device
Rozwiązywanie problemów:
- Jeśli pojawi się błąd, wykonaj instrukcje podane w artykule Zgodność z Adb.
- Jeśli nie widzisz urządzenia, spróbuj połączyć się ponownie przez port
6520
:
adb connect localhost:6520
Wpisz
adb install path\to\your\game.apk
, aby zainstalować grę. Jeśli masz wygenerowany pakiet Android App Bundle (aab), zapoznaj się z instrukcjami dotyczącymi bundletool, a zamiast nich użyj metodybundletool install-apks
.Aby uruchomić grę:
- Wpisz
adb shell monkey -p your.package.name 1
, aby uruchomić grę, zastępującyour.package.name
nazwą pakietu gry. - W emulatorze dla deweloperów Gier Google Play na PC kliknij ikonę, aby uruchomić grę. Podobnie jak na telefonie z Androidem, aby zobaczyć listę zainstalowanych gier, trzeba przesunąć palcem w górę na ekranie głównym.
- Wpisz
Debugowanie gry
Użyj narzędzia Android Debug Bridge (adb) do debugowania, podobnie jak w przypadku każdej innej gry.
Emulator wyświetla się jako urządzenie połączone przez: localhost:6520
.
adb logcat
działa zgodnie z oczekiwaniami, podobnie jak narzędzia, które pomagają precyzować lub filtrować dane wyjściowe logcat, w tym Android Studio.
Oprócz usługi adb
logi są też dostępne w katalogu %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs
. Najbardziej przydatny jest w tym przypadku ciąg AndroidSerial.log
, który reprezentuje wszystko, co adb logcat
wysyła echo od momentu uruchomienia emulatora.
Ustawienia programisty
Emulator dla deweloperów Gier Google Play na PC koncentruje się na wydajności programistów, a nie wrażeniach użytkownika. Oznacza to, że masz nieograniczony dostęp do systemu Android, w tym standardowe program uruchamiający Androida zamiast Gier Google Play na PC. Masz też kontrolę nad funkcjami, które w przeciwnym razie są automatycznie włączane i wyłączane u graczy.
Testowanie wprowadzania danych myszą
W fazie programowania emulator dla deweloperów Gier Google Play na PC domyślnie używa emulacji dotykowej, a nie bezpośredniego działania myszy. Jeśli chcesz włączyć bezpośrednie wprowadzanie danych myszą, kliknij prawym przyciskiem myszy ikonę na pasku zadań, wybierz Opcje programisty, a potem Tryb PC (KiwiMouse).
Gry Google Play na PC mają 2 tryby myszy: emulowany, który zmienia kliknięcia myszą na jedno kliknięcie, oraz „tryb PC”, który pozwala grom natywnie obsługiwać działania myszy i przechwytywać wskaźniki. Szczegółowe informacje o używaniu myszy w Grach Google Play na PC znajdziesz w artykule Konfigurowanie wprowadzania danych myszą.
W kliencie odtwarzacza emulacja jest wyłączona przez dodanie do pliku manifestu tego kodu:
<manifest ...>
<uses-feature
android:name="android.hardware.type.pc"
android:required="false" />
...
</manifest>
Ta flaga funkcji nie ma wpływu na środowisko programistyczne.
Testuję formaty obrazu
Emulator programisty uruchamia się w formacie 16:9 – w przeciwieństwie do klienta odtwarzacza, który określa współczynnik proporcji na podstawie głównego wyświetlacza. Aby sprawdzić, jak gra wygląda na ekranach różnych graczy, kliknij prawym przyciskiem myszy ikonę na pasku zadań, wybierz Opcje programisty, a potem dowolną opcję w sekcji Współczynnik wyświetlania.
Preferowaną metodą konfigurowania współczynnika proporcji jest użycie android:minAspectRatio
i android:maxAspectRatio
.
Na przykład gra w orientacji pionowej będzie miała współczynnik proporcji 9/16
lub 0.5625
, dlatego warto ustawić maksymalny współczynnik proporcji 1
, by gra nie była szersza niż obraz w formacie kwadratowym:
<activity android:maxAspectRatio="1">
...
</activity>
I podobnie, gra w orientacji poziomej powinna mieć 16/9
lub około 1.778
, więc możesz ustawić minimalny współczynnik proporcji 1
, aby obraz nie był cieńszy od kwadratu:
<activity android:minAspectRatio="1">
...
</activity>
Co testować
Jeśli Twoja gra obsługuje w manifeście tylko tryby pionowe, możesz wybrać w menu 9:16 (pionowy), aby zobaczyć, jak będzie wyglądać na komputerach graczy. W przeciwnym razie sprawdź, czy gra działa w najszerszych i najwęższych proporcjach poziomych obsługiwanych w manifeście. Pamiętaj, że 16:9 (wartość domyślna) (lub 9:16 (orientacja pionowa) jest wymagana tylko w przypadku gry w orientacji pionowej).
Testowanie backendów renderowania
Gry Google Play na PC używają warstwy zgodności ANGLE, aby mieć pewność, że wywołania OpenGL ES są prawidłowo obsługiwane przez host PC za pomocą backendu DirectX lub Vulkan. Emulator obsługuje też interfejs Vulkan bezpośrednio, ale nie w trybie OpenGL. Ta warstwa konwertuje też skompresowane formaty tekstur tylko na urządzenia mobilne na formaty zgodne z komputerami. Klikając prawym przyciskiem myszy ikonę na pasku zadań i wybierając Zastąpienie stosu grafiki, możesz ustawić domyślną wartość systemu w systemie lub wymusić włączenie lub wyłączenie interfejsu vulkan na potrzeby testów zgodności.
Co testować
Obsługiwane formaty tekstur i czynności niezbędne do emulacji różnych funkcji mobilnych na komputerze mogą się nieznacznie różnić. Przy profilowaniu i optymalizowaniu gry warto sprawdzić każdy backend.
Profilowanie gry na PC
Emulator wykorzystuje tę samą technologię co klient konsumenta, dlatego jest odpowiednim środowiskiem do profilowania wydajności.
Perfetto to narzędzie do analizy wydajności na urządzeniach z Androidem. Aby zebrać i wyświetlić ślad Perfetto, wykonaj te czynności:
W wierszu poleceń PowerShell rozpocznij śledzenie za pomocą narzędzia
adb
adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
- Flaga
--time
określa czas trwania zbierania danych śledzenia.W tym przykładzie log czasu ma 10 sekund. - Argumenty po flagi
--time
wskazują, które zdarzenia mają być śledzone. W tym przykładziegfx
wskazuje grafikę oraz informacje dotyczące zarządzania oknamiwm
i harmonogramu procesówsched
. To są typowe flagi przy profilowaniu gier. Dostępne są pełne informacje. - Flaga
--out
określa plik wyjściowy, który w następnym kroku jest pobierany z emulatora na hosta.
- Flaga
Pobieranie logu czasu z hosta
adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
Otwórz log czasu w interfejsie użytkownika Perfetto
- Otwórz ui.perfetto.dev.
- Wybierz Otwórz plik śledzenia w lewym górnym rogu w sekcji Nawigacja.
- Otwórz do katalogu
Downloads/
plikexample.trace
pobrany w poprzednim kroku.
Sprawdź log czasu w interfejsie użytkownika Perfetto. Wskazówki:
- Każdy proces ma własny wiersz, który można rozwinąć, aby wyświetlić wszystkie zawarte w nim wątki. Jeśli profilujesz grę, proces dotyczy prawdopodobnie pierwszego wiersza.
- Możesz powiększać i pomniejszać obraz, przytrzymując klawisz Control i używając kółka przewijania.
- Gdy używasz zdarzenia
sched
, w przypadku każdego wątku pojawia się osobny wiersz, który wskazuje, czy wątek jest uruchomiony, wykonywany, uśpiony czy zablokowany. - Po włączeniu zdarzenia takiego jak
gfx
możesz zobaczyć różne wywołania graficzne wykonywane przez różne wątki. Możesz wybrać poszczególne „wycinki”, aby sprawdzić, ile trwało, lub przeciągnąć wzdłuż wiersza, co spowoduje otwarcie sekcji „wycinki” u dołu i wyświetlić czas trwania poszczególnych wycinków w wybranym przedziale czasu.
Profilowanie grafiki
Profilowanie grafiki można przeprowadzić za pomocą narzędzia RenderDoc.
- Ustaw zmienną środowiskową
ANDROID_EMU_RENDERDOC
na niepusty ciąg znaków (np."1"
). Ustaw zmienną środowiskową
TMP
na%USERPROFILE%\AppData\LocalLow
. Sprawi to, że usługa Renderdoc umieści swoje pliki dziennika w pewnym miejscu w piaskownicy emulatora.Jeśli korzystasz z backendu Vulkan, Wybierz Ustawienia grafiki > Warstwy niejawne instancji Vulkan i zaznacz VKLAYER_RENDERDOC_Capture.
Uruchom emulator dla deweloperów Gier Google Play na PC. Jeśli jest włączona, na górze widać nakładkę RenderDoc.
Renderowanie możesz uruchamiać w dowolnym momencie przed uruchomieniem emulatora dla deweloperów Gier Google Play na PC lub po nim.
Kliknij Plik > Załącz do działającej instancji i wybierz crosvm.
Określ zmienne środowiskowe
Aby Renderdoc działał, musisz dodać lub zmienić zmienne środowiskowe w systemie Windows. Zmienne środowiskowe możesz zmieniać za pomocą interfejsu użytkownika, programu PowerShell lub cmd.exe.
Korzystanie z interfejsu
- Naciśnij
Win+R , aby otworzyć okno uruchamiania. - Wpisz
sysdm.cpl
, aby otworzyć okno Właściwości systemu. - Wybierz kartę Zaawansowane, jeśli nie jest jeszcze aktywna.
- Kliknij przycisk Zmienne środowiskowe.
Tutaj możesz kliknąć przycisk Nowa, aby utworzyć nową zmienną środowiskową, lub wybrać zmienną i kliknąć przycisk Edytuj, aby ją edytować.
Użyj PowerShell
W oknie PowerShell wpisz:
$Env:VARIABLE_NAME=VALUE
Zastąp VARIABLE_NAME
i VALUE
wartościami, które chcesz ustawić. Aby na przykład ustawić ANDROID_EMU_RENDERDOC
jako typ "1"
:
$Env:ANDROID_EMU_RENDERDOC="1"
Użyj polecenia cmd.exe
W oknie cmd.exe wpisz:
set VARIABLE_NAME=VALUE
Zastąp VARIABLE_NAME
i VALUE
wartościami, które chcesz ustawić. Aby na przykład ustawić ANDROID_EMU_RENDERDOC
jako typ "1"
:
set ANDROID_EMU_RENDERDOC="1"
Wskazówki dotyczące Androida 11 (poziom interfejsu API 30) lub nowszego
Gry Google Play na PC zostały zaktualizowane o najnowsze wersje Androida. Oto kilka wskazówek dotyczących pracy z najnowszą wersją Androida.
Zadbaj o aktualność narzędzi
Android Studio instaluje wersję adb zgodną z emulatorem dewelopera. Niektóre silniki gier zawierają jednak starszą wersję adb. W takim przypadku po zainstalowaniu emulatora dewelopera znajdziesz zgodną wersję adb
na stronie C:\Program Files\Google\Play Games Developer
Emulator\current\emulator
.
Jeśli uruchomisz jedną wersję adb
, zakończy się druga. Oznacza to, że jeśli Twój silnik gry automatycznie uruchomi własną instancję adb
, przy każdym wdrażaniu konieczne może być ponowne uruchomienie i ponowne uruchomienie wersji adb
dołączonej do emulatora dewelopera.
Jeśli używasz pakietu aplikacji na Androida, musisz zainstalować najnowszą wersję narzędzia Bundletool z repozytorium GitHub.
Ograniczone miejsce na dane
Android 11 (poziom interfejsu API 30) lub nowszy obejmuje pamięć o ograniczonym zakresie, która zapewnia lepszą ochronę danych aplikacji i użytkowników w pamięci zewnętrznej. Oprócz zapewnienia zgodności gry z wymaganiami dotyczącymi ograniczonego miejsca na dane musisz wykonać dodatkowe czynności, aby wczytać pliki rozszerzeń APK (obb) lub dane zasobów do emulatora dla deweloperów Gier Google Play na PC. Jeśli masz problemy z dostępem do plików z poziomu gry, wykonaj te czynności:
- Utwórz katalog, który aplikacja może odczytywać.
- Roześlij pliki rozszerzeń do emulatora.
adb shell mkdir /sdcard/Android/obb/com.example.game
adb push main.com.example.game.obb /sdcard/Android/obb/com.example.game
Widoczność pakietu
Ze względu na nowe reguły widoczności pakietów aplikacje kierowane na Androida 11 (poziom interfejsu API 30) lub nowszego nie mogą wysyłać zapytań o informacje o innych aplikacjach zainstalowanych na urządzeniu. Oznacza to, że nie ma ona dostępu do Usług Google Play, gdy gra jest pobierana z innego źródła przez adb
i nie jest instalowana ze Sklepu Play. Aby przetestować IAP w grze pobranej z innego urządzenia, musisz dodać do pakietu „com.android.vending
” zapytanie w pliku AndroidManifest.xml
w ten sposób:
<manifest>
<queries>
<package android:name="com.android.vending" />
</queries>
</manifest>
Instalowanie gry w kliencie klienta indywidualnego
Grę możesz zainstalować na kliencie indywidualnym, dopóki nie pojawi się ona w katalogu usług gier Play. Gdy gra ma 1 wersję, możesz utworzyć ścieżkę testu wewnętrznego, która pozwala sprawdzać przyszłe aktualizacje przed jej opublikowaniem.
Klient odtwarzacza nie obsługuje funkcji emulatora dla deweloperów w Grach Google Play na PC, które są przeznaczone dla programistów. Najlepiej sprawdza się to podczas kontroli jakości gry przed jej opublikowaniem, by po jej opublikowaniu sprawdzić wrażenia użytkowników.