Debugowanie i testowanie

Aplikacja Dialer jest wyposażona w zintegrowaną platformę debugowania i testowania, która umożliwia weryfikowanie funkcji aplikacji Dialer bez konieczności korzystania z urządzeń do wykonywania połączeń. Dzięki temu nie trzeba używać Bluetooth ani połączonych telefonów z usługą sieci komórkowej. Ten framework testowania dialera (DTF) upraszcza te procesy:

  • Skonfigurowanie rzeczywistego urządzenia w celu szybkiego sprawdzenia pomysłów zwykle zajmuje dużo czasu.
  • Testowanie funkcji połączeń wielokrotnych wymaga co najmniej 3 telefonów z kartami SIM, z których 2 służą tylko do wykonywania połączeń.
  • Debugowanie Dialer i jego zależności.

Funkcja Dialer zależy od kilku pakietów technologicznych, w tym telekomunikacji, telefonii i profilu Bluetooth Hands Free (HFP), więc błędy i problemy występujące w tych zależnościach mogą powodować niestabilność Dialer. DTF umożliwia działanie Dialera niezależnie od tych zależności.

Funkcje

Dokument DTF zawiera te funkcje:

  • Miejsce docelowe połączenia. Nawiązuj i odbieraj połączenia bez konieczności korzystania z urządzenia obsługującego połączenia, korzystając z terminala i transmisji Android Debug Bridge (adb).
  • Próbne połączenia Funkcja wywołania jest symulowana. Obejmuje to wstrzymywanie, wyciszanie, scalanie i rozłączanie.

Korzystanie z DTF

Uwaga: funkcja DTF jest dostępna tylko w Androidzie 11 lub nowszym.

Aby korzystać z DTF:

  1. Aby utworzyć i zainstalować wariant kompilacji CarDialerAppForTesting:
    cd %rRepoRoot%/packages/apps/Car/Dialer
    
    m CarDialerAppForTesting
    
    adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
    

    W rezultacie CarDialerAppForTesting zastępuje oryginalną aplikację Dialer na urządzeniu testowym.

    CarDialerAppForTesting nie działa na rzeczywistych urządzeniach. Aby przetestować aplikację na prawdziwym urządzeniu, ponownie zainstaluj CarDialerApp.apk.

Polecenia

Poniższe polecenia adb działają tylko po pierwszym uruchomieniu Dialer i wymagają zainicjowania odbiornika transmisji. Po uruchomieniu Dialer musi być połączone fałszywe urządzenie Bluetooth. Aby to zrobić, użyj polecenia (Konfiguracja) Łączenie urządzenia.

(Konfiguracja) Połącz urządzenie

Nawiązuje fałszywe połączenie Bluetooth z Dialerem i musi być wywołany najpierw, aby umożliwić dostęp do wszystkich poleceń związanych z połączeniami.

Aby połączyć urządzenie:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "connect"

Uwaga: tych poleceń można używać dopiero po połączeniu fałszywego urządzenia Bluetooth.

Wykonywanie połączeń wychodzących

Aby wykonać połączenie wychodzące:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "addCall" --es "id" "4085524874"

Odbieranie połączeń przychodzących

Aby odebrać połączenie przychodzące:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "rcvCall" --es "id" "4085524874"

Kończenie połączenia

Aby zakończyć połączenie:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "endCall" --es "id" "4085524874"

Wstrzymanie bieżącego połączenia

Aby wstrzymać bieżące połączenie:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "holdCall"

Wznów bieżące połączenie

Aby wznowić bieżące połączenie:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"

Scal połączenia

Połącz połączenia główne i dodatkowe w jedno połączenie konferencyjne. To polecenie działa tylko wtedy, gdy istnieją zarówno rozmowy główna, jak i dodatkowa. Dotychczasowe połączenie konferencyjne jest traktowane jako pojedyncza jednostka.

Aby scalić połączenia:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"

Wyczyść wszystkie połączenia

Aby usunąć wszystkie połączenia z listy połączeń:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "clearAll"

Kompilacja w emulatorze

Czasami deweloperzy mogą chcieć przetestować zmiany w interfejsie na emulatorze. W takich przypadkach CarDialerAppEmulatorBuild zapewnia uproszczoną konfigurację i ograniczoną funkcjonalność w porównaniu z bardziej zaawansowanym DTF.

Dane testowe

Po uruchomieniu Dialer zamiast strony z błędem Bluetooth wyświetla się główna zawartość aplikacji TelecomActivity. Kontakty i rejestr połączeń są wyświetlane na lokalnym urządzeniu. Deweloperzy mogą użyć domyślnej aplikacji Kontakty, aby utworzyć testowe kontakty lub zaimportować plik .vcf.

Naśmiewanie

Aby symulować połączenia przychodzące, użyj emulatora Androida do wysyłania poleceń Telnet. Więcej informacji znajdziesz w artykułach uruchamianie aplikacji na emulatorze Androidawysyłanie poleceń do konsoli emulatora.

telnet localhost 5554
gsm call xxx-xxx-xxxx

Wykonywanie połączenia w aplikacji Dialer lub nadawanie intencji połączenia powoduje nawiązanie połączenia wychodzącego.

adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx