Dokumentacja

Sterowanie emulatorem na potrzeby tworzenia aplikacji adaptacyjnych

Czas czytania: 2 min
Wyświetl profil Roba Orgiu
Rob Orgiu Inżynier ds. relacji z programistami

Dostosowywanie aplikacji do różnych urządzeń jest podstawową kwestią w przypadku Androida, ale aby mieć pewność, że wszystko wygląda dobrze i każda funkcja działa prawidłowo, trzeba przeprowadzić wiele testów na różnych urządzeniach. A może jednak?

Cóż, tak… i nie! Android Studio zawiera emulator z możliwością zmiany rozmiaru, który umożliwia ręczne testowanie układów. Istnieje jednak szybszy i bardziej usprawniony sposób kontrolowania formatów bezpośrednio z terminala. Korzystając z poleceń konsoli typu „fire-and-forget” za pomocą skrótu adb emu, możesz wykonywać polecenia, które natychmiast zwracają kontrolę do powłoki wywołującej. 

Jeśli masz uruchomionych kilka emulatorów jednocześnie, możesz kierować reklamy na konkretne urządzenie wirtualne, przekazując skrót jego numeru seryjnego:

adb -s <serial> emu <command> <parameter>

Zacznijmy od początku: składanie i rozkładanie

Aby przetestować ścieżki użytkownika i konfiguracje układu specyficzne dla urządzeń składanych, możesz programowo składać i rozkładać emulowane urządzenie.

adb emu fold

Jeśli emulator urządzenia składanego jest rozłożony, możesz go złożyć, aby wyświetlić mniejszą konfigurację ekranu i włączyć (wirtualny) wyświetlacz zewnętrzny. Aby otworzyć emulator i włączyć wyświetlacz wewnętrzny, wystarczy uruchomić to polecenie:

adb emu unfold

Teraz możesz od razu sprawdzić, czy aplikacja zachowuje swój stan, a układy wyświetlają się prawidłowo na ekranach o różnych rozmiarach.

Obrót, obrót, obrót

Prawidłowa obsługa zmian orientacji to podstawa tworzenia aplikacji adaptacyjnych. Możesz programowo wywoływać obracanie urządzenia, aby sprawdzić, jak aplikacja radzi sobie ze zmianami konfiguracji, w tym z przywracaniem stanu. To polecenie obraca urządzenie o 90° w kierunku zgodnym z ruchem wskazówek zegara:

adb emu rotate

Symulowanie stanów za pomocą czujników

A co z ustawieniem emulatora w określonej pozycji fizycznej, np. w trybie stołu? Najprostszym podejściem jest wysłanie zapytania o liczbę dostępnych pozycji za pomocą .

Najpierw wyświetl listę wszystkich dostępnych czujników i ich bieżący stan:

adb emu posture

Zwróci to listę stanowisk podobną do tej:

Usage: "posture <posture_id>" 1: closed	2: half-opened	3: opened	…

Następnie możesz wywołać pozycję stołu, używając identyfikatora półotwartego urządzenia:

adb emu posture 2
Uwaga: nie wszystkie wirtualne urządzenia obsługują wszystkie pozycje. Standardowe szablony AVD, takie jak Pixel Fold lub AVD o zmiennej wielkości, obsługują tylko pozycje 1 , 2 i 3 . Próba ustawienia wartości 4 lub 5 w tych szablonach spowoduje zwrócenie błędu KO: Failed to set posture (Nie udało się ustawić postawy).

A co z emulatorem o zmienianym rozmiarze?

Emulator o zmienianym rozmiarze ma supermoc, która pozwala łatwo zmieniać jego rozmiar. Za pomocą polecenia adb emu możesz swobodnie przesuwać urządzenie za pomocą jednego polecenia. Zanim wprowadzisz jakiekolwiek zmiany, zapytanie o dostępne gotowe ustawienia zmiany rozmiaru wymaga tylko jednego wywołania:

adb emu resize-display

Spowoduje to wyświetlenie listy dostępnych prezentów:

KO usage: "resize-display <index>" 0: phone	1: unfolded	2: tablet

Teraz wywołanie parametru resize-display z odpowiednim identyfikatorem spowoduje zmianę rozmiaru emulatora na żądany:

adb emu resize-display 1

Usprawnij testowanie już dziś

To wszystko. Dzięki integracji poleceń typu „uruchom i zapomnij” z przepływem pracy w wierszu poleceń oszczędzasz dużo czasu i zasobów w porównaniu z jednoczesnym uruchamianiem wielu emulatorów.

Teraz jest dobry moment, aby zacząć eksperymentować. Jeśli nie znasz tych skrótów konsoli, otwórz terminal, uruchom emulator, zapoznaj się z dokumentacją i zacznij korzystać z nich już dziś.

Autorzy:
Czytaj dalej