Emulator deweloperski Gier Google Play na PC to emulator przeznaczony dla deweloperów, którzy tworzą gry na PC w ramach Gier Google Play. W odróżnieniu od odtwarzacza możesz instalować i debugować własne pakiety. Możesz też symulować różne konfiguracje odtwarzacza, takie jak proporcje obrazu, emulacja myszy i backend graficzny, aby mieć pewność, że gra działa zgodnie z oczekiwaniami na różnych konfiguracjach komputerów.
Uruchamianie emulatora
Po zainstalowaniu w menu Start pojawi się element „Emulator deweloperski Gier Google Play”, a na pulpicie skrót do uruchamiania emulatora. Po zamknięciu okna emulator pozostanie w zasobniku systemowym.
Zaloguj się
Przy pierwszym uruchomieniu emulatora pojawi się prośba o zalogowanie się na konto Google. Użyj tych samych danych logowania, których zamierzasz używać podczas tworzenia aplikacji.
Aby się wylogować, kliknij prawym przyciskiem myszy ikonę na pasku systemowym, wybierz Opcje programisty, a następnie kliknij Wymuś wylogowanie. Gdy to zrobisz, emulator natychmiast się ponownie uruchomi i poprosi o ponowne zalogowanie się.
Nawigacja
Po uruchomieniu zobaczysz typowy ekran główny Androida. Kliknięcia lewym przyciskiem myszy są bezpośrednio przekładane na dotknięcia palcem, tak jak w trybie emulacji myszy. Gry wgrane z zewnątrz na potrzeby programowania pojawiają się na liście aplikacji, do której możesz przejść, klikając i przeciągając w górę na pulpicie (emulując przesunięcie w górę na telefonie lub tablecie).
Oprócz translacji myszy emulator deweloperski Gier Google Play na PC udostępnia skróty klawiszowe, które ułatwiają nawigację:
Ctrl + H : naciśnij przycisk strony głównej.Ctrl + B : naciśnij przycisk Wstecz.F11 lubAlt + Enter : przełączanie między trybem pełnoekranowym a okienkowymShift + Tab: otwiera nakładkę Google Play Games on PC, w tym bieżące mapowania klawiszy dla pakietu SDK do obsługi danych wejściowych.
Instalowanie gry
Emulator dla deweloperów Gier Google Play na PC używa Android Debug Bridge (adb) do instalowania pakietów.
Zgodność z adb
Obecne wersje adb
są zgodne z emulatorem dla deweloperów Gier Google Play na PC.
Podczas instalowania emulatora w lokalizacji C:\Program
Files\Google\Play Games Developer Emulator\current\emulator
jest też instalowana zgodna wersja.
Aby wykonać te instrukcje, musisz mieć dostęp do narzędzia adb w $PATH
. Możesz sprawdzić, czy adb
jest prawidłowo skonfigurowany, za pomocą polecenia adb devices
.
adb devices
List of devices attached
localhost:6520 device
Instalowanie gry
- Uruchom aplikację
Google Play Games for PC Emulator
Wpisz
adb devices
w wierszu poleceń. Powinno się wyświetlić:adb devices List of devices attached localhost:6520 device
Rozwiązywanie problemów:
- Jeśli pojawi się błąd, sprawdź, czy postępujesz zgodnie z instrukcjami w sekcji Zgodność z ADB.
- Jeśli nie widzisz urządzenia, spróbuj ponownie połączyć się przez port
6520
:
adb connect localhost:6520
Aby zainstalować grę, wpisz
adb install path\to\your\game.apk
. Jeśli masz wygenerowany pakiet Android App Bundle (AAB), zapoznaj się z instrukcjami dotyczącymi bundletool i użyjbundletool install-apks
.Uruchom grę, wykonując jedną z tych czynności:
- Wpisz
adb shell monkey -p your.package.name 1
, aby uruchomić grę. Zastąpyour.package.name
nazwą pakietu gry. - W emulatorze deweloperskim Gier Google Play na PC kliknij ikonę, aby uruchomić grę. Podobnie jak na telefonie z Androidem, musisz przesunąć palcem w górę na ekranie głównym, aby wyświetlić listę zainstalowanych gier.
- Wpisz
Debugowanie gry
Użyj Android Debug Bridge (adb), aby debugować grę tak samo jak w przypadku innych gier.
Emulator pojawi się jako urządzenie połączone przez localhost:6520
.
adb logcat
działa zgodnie z oczekiwaniami, podobnie jak narzędzia, które pomagają upiększać lub filtrować dane wyjściowe logcat, w tym Android Studio.
Oprócz adb
dzienniki są dostępne w katalogu %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs
. Najbardziej przydatna jest tu zmienna AndroidSerial.log
, która reprezentuje wszystko, co adb logcat
odpowie od momentu uruchomienia emulatora.
Ustawienia programisty
Emulator dla deweloperów Gier Google Play na PC jest przeznaczony dla deweloperów, a nie dla użytkowników. Oznacza to, że masz nieograniczony dostęp do systemu Android, w tym możliwość korzystania ze standardowego programu uruchamiającego Androida zamiast z Gier Google Play na PC, oraz kontrolę nad funkcjami, które w przypadku graczy są automatycznie włączane i wyłączane.
Testowanie sygnału myszy
Podczas tworzenia emulator dla deweloperów Gier Google Play na PC domyślnie emuluje dotyk zamiast bezpośredniego sterowania myszą. Aby włączyć bezpośrednie wprowadzanie danych za pomocą myszy, kliknij prawym przyciskiem myszy ikonę w obszarze powiadomień, wybierz Opcje programisty, a następnie Tryb PC (KiwiMouse).
Gry Google Play na PC mają 2 tryby myszy: tryb emulowany, który tłumaczy kliknięcia myszy na pojedyncze dotknięcia, oraz tryb przekazywania „PC”, który umożliwia grom natywne obsługiwanie działań myszy i przechwytywanie wskaźnika. Więcej informacji o sterowaniu myszą w Grach Google Play na PC znajdziesz w artykule Konfigurowanie sterowania 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 deweloperskie.
Testowanie formatów obrazu
Emulator dewelopera uruchamia się w formacie 16:9, w przeciwieństwie do klienta odtwarzacza, który określa format na podstawie wyświetlacza głównego. Klikając prawym przyciskiem myszy ikonę na pasku systemowym, wybierając Opcje programisty, a następnie dowolną opcję w sekcji Współczynnik proporcji, możesz sprawdzić, jak gra wygląda na ekranach różnych graczy.
Preferowaną metodą konfigurowania proporcji obrazu jest użycie android:minAspectRatio
i android:maxAspectRatio
.
Na przykład gra w formacie pionowym ma proporcje 9/16
lub 0.5625
, więc możesz ustawić maksymalne proporcje 1
, aby zapobiec rozszerzaniu się gry poza kwadrat:
<activity android:maxAspectRatio="1">
...
</activity>
Podobnie gra w orientacji poziomej miałaby współczynnik proporcji 16/9
lub w przybliżeniu 1.778
, więc możesz ustawić minimalny współczynnik proporcji na 1
, aby zapobiec zmniejszeniu się szerokości poniżej kwadratu:
<activity android:minAspectRatio="1">
...
</activity>
Co testować
Jeśli Twoja gra obsługuje w pliku manifestu tylko tryb pionowy, możesz wybrać z menu 9:16 (pionowy), aby zobaczyć, jak będzie wyglądać na komputerach graczy. W przeciwnym razie sprawdź, czy gra działa przy najszerszym i najwęższym współczynniku proporcji w trybie poziomym, który obsługuje plik manifestu. Pamiętaj, że 16:9 (domyślny) (lub 9:16 (pionowy), jeśli gra jest tylko w trybie pionowym) jest wymagany do uzyskania pełnego certyfikatu.
Testowanie backendów renderowania
Gry Google Play na PC używają interfejsu Vulkan do renderowania gier, co jest powszechne zarówno w środowiskach Androida, jak i PC. Warstwa piaskownicy służy do izolowania środowisk PC i Androida. Wiele gier nadal używa OpenGL ES do renderowania, więc ANGLE będzie konwertować polecenia OpenGL ES na polecenia Vulkan zgodne z komputerem hosta.
Podobnie Gry Google Play na PC maksymalizują zgodność gier i minimalizują wysiłek deweloperów, automatycznie konwertując w czasie działania formaty tekstur przyjazne dla urządzeń mobilnych, takie jak ETC1 i ETC2, na formaty przyjazne dla komputerów. Aby uzyskać najlepsze wyniki, unikaj tej konwersji, korzystając z formatów obsługiwanych przez procesory graficzne na komputerach, takich jak DXTC lub BPTC.
Co testować
Jeśli w grze występują nieoczekiwane artefakty renderowania, sprawdź źródłową grafikę i rozważ przejście na format przyjazny dla komputerów. Zwróć szczególną uwagę na tekstury używane do bardziej zaawansowanych efektów, ponieważ problemy z mapami normalnych lub sześciennymi są często trudniejsze do wykrycia niż problemy z albedo.
Konwersja poleceń OpenGL ES na Vulkan przez ANGLE spowoduje pewne obciążenie. Sprawdź, czy osiągasz oczekiwane wyniki, i rozważ przejście na moduł renderujący oparty na Vulkanie.
Profilowanie gry na PC
Emulator korzysta z tej samej technologii co klient konsumencki, dlatego jest odpowiednim środowiskiem do profilowania wydajności.
Perfetto to narzędzie do analizowania wydajności na Androidzie. Aby zebrać i wyświetlić ślad Perfetto, wykonaj te czynności:
W wierszu polecenia PowerShell uruchom śledzenie za pomocą polecenia
adb
.adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
- Flaga
--time
określa czas trwania śledzenia, które ma zostać zebrane. W tym przykładzie ślad ma 10 sekund. - Argumenty po fladze
--time
wskazują, które zdarzenia mają być śledzone. W tym przykładziegfx
oznacza grafikę,wm
zarządzanie oknami, asched
informacje o planowaniu procesów. Są to typowe flagi dotyczące gier profilujących. Dostępne jest pełne odniesienie. - Flaga
--out
określa plik wyjściowy, który w następnym kroku zostanie pobrany z emulatora na komputer hosta.
- Flaga
Pobierz ślad z hosta
adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
Otwieranie śladu w interfejsie Perfetto
- Otwórz stronę ui.perfetto.dev.
- W lewym górnym rogu w sekcji Nawigacja kliknij Otwórz plik śledzenia.
- Otwórz plik
example.trace
pobrany w poprzednim kroku w kataloguDownloads/
.
Sprawdź ślad w interfejsie Perfetto. Wskazówki:
- Każdy proces ma własny wiersz, który można rozwinąć, aby wyświetlić wszystkie wątki w tym procesie. Jeśli profilujesz grę, jej proces prawdopodobnie znajduje się w pierwszym wierszu.
- Aby powiększyć lub pomniejszyć widok, przytrzymaj klawisz Control i użyj kółka przewijania.
- W przypadku zdarzenia
sched
każdy wątek ma swój wiersz, w którym widać, kiedy stan wątku to „running” (działający), „runnable” (możliwy do uruchomienia), „sleeping” (uśpiony) lub „blocked” (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 czasu zajęły, lub przeciągnąć wzdłuż wiersza, aby otworzyć sekcję „wycinków” u dołu i sprawdzić, ile czasu zajęły wszystkie wycinki w wybranym przedziale czasu.
Profilowanie grafiki
Za pomocą narzędzia RenderDoc można przeprowadzić profilowanie grafiki.
- Ustaw zmienną środowiskową
ANDROID_EMU_RENDERDOC
na niepusty ciąg znaków (np."1"
). Ustaw zmienną środowiskową
TMP
na%USERPROFILE%\AppData\LocalLow
. Dzięki temu Renderdoc umieści pliki dziennika w miejscu dostępnym w piaskownicy emulatora.Jeśli używasz backendu Vulkan. Wybierz Ustawienia grafiki > Warstwy niejawne instancji Vulkan i upewnij się, że pole wyboru VKLAYER_RENDERDOC_Capture jest zaznaczone.
Uruchom emulator deweloperski Gier Google Play na PC. Nakładka RenderDoc jest rysowana u góry, o ile obsługa jest włączona.
Uruchom RenderDoc w dowolnym momencie przed lub po uruchomieniu emulatora deweloperskiego Gier Google Play na PC.
Kliknij Plik > Dołącz do działającej instancji i wybierz crosvm.
Określanie zmiennych środowiskowych
Aby Renderdoc działał, musisz dodać lub zmienić zmienne środowiskowe w systemie Windows. Zmienne środowiskowe możesz zmieniać za pomocą interfejsu, 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.
Możesz kliknąć przycisk Nowy, aby utworzyć nową zmienną środowiskową, lub wybrać zmienną i kliknąć przycisk Edytuj, aby ją edytować.
Używanie programu 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
na typ "1"
, wpisz:
$Env:ANDROID_EMU_RENDERDOC="1"
Używanie 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
na typ "1"
, wpisz:
set ANDROID_EMU_RENDERDOC="1"
Wskazówki dotyczące Androida 11 (poziom API 30) lub nowszego
Gry Google Play na PC są aktualizowane do najnowszych wersji Androida. Oto kilka wskazówek dotyczących korzystania z najnowszej wersji Androida.
Aktualizowanie narzędzi
Android Studio instaluje wersję adb zgodną z emulatorem dewelopera, ale niektóre silniki gier zawierają starszą wersję adb. W takim przypadku po zainstalowaniu emulatora dla deweloperów możesz znaleźć zgodną wersję adb
na stronie C:\Program Files\Google\Play Games Developer
Emulator\current\emulator
.
Jeśli uruchomisz jedną wersję adb
, druga zostanie zamknięta. Oznacza to, że jeśli silnik gry automatycznie uruchamia własną instancję adb
, po każdym wdrożeniu może być konieczne ponowne uruchomienie i ponowne połączenie wersji adb
dostarczonej z emulatorem deweloperskim.
Jeśli używasz pakietu Android App Bundle, musisz zainstalować najnowszą wersję Bundletool z repozytorium GitHub.
Ograniczony dostęp do miejsca na dane
Android 11 (poziom 30 interfejsu API) lub nowszy zawiera pamięć o ograniczonym zakresie, która zapewnia lepszą ochronę danych aplikacji i użytkowników na zewnętrznych nośnikach danych. Oprócz dostosowania gry do wymagań dotyczących pamięci o ograniczonym zakresie musisz wykonać dodatkowe czynności, aby wczytać pliki rozszerzeń APK (obb) lub dane zasobów do emulatora deweloperskiego Gier Google Play na PC. Jeśli podczas próby uzyskania dostępu do tych plików z poziomu gry napotkasz problemy, wykonaj te czynności:
- Utwórz katalog, który aplikacja może odczytać.
- Prześ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 zasady dotyczące widoczności pakietów aplikacje kierowane na Androida 11 (poziom API 30) lub nowszego nie mogą wysyłać zapytań o informacje o innych aplikacjach zainstalowanych na urządzeniu. Oznacza to, że Twoja gra jest blokowana
przed dostępem do Usług Play, gdy jest instalowana z innego urządzenia za pomocą adb
zamiast ze Sklepu Play. Aby przetestować zakupy w aplikacji w przypadku gry wczytanej z zewnątrz, musisz dodać zapytanie do pakietu „com.android.vending
” w pliku AndroidManifest.xml
w ten sposób:
<manifest>
<queries>
<package android:name="com.android.vending" />
</queries>
</manifest>
Instalowanie gry w aplikacji klienta
Nie możesz zainstalować gry na urządzeniu klienta, dopóki nie zostanie ona umieszczona w katalogu usług gier Play. Gdy Twoja gra będzie miała jedną wersję, możesz utworzyć ścieżkę testów wewnętrznych, aby przed opublikowaniem sprawdzać przyszłe aktualizacje.
Klient odtwarzacza nie obsługuje funkcji dla deweloperów w emulatorze deweloperskim Gier Google Play na PC. Najlepiej użyć tej opcji do sprawdzenia jakości gry przed jej wydaniem, aby przetestować pełną ścieżkę gracza po początkowym wydaniu.