Fehler beheben und testen

Die Telefon App ist mit einem integrierten Debugging- und Test-Framework ausgestattet, mit dem Sie Funktionen der Telefon App prüfen, ohne dass anruffähige Geräte erforderlich sind. Dadurch entfällt die Notwendigkeit für Bluetooth und verbundene Smartphones mit Mobilfunkdienst. Dieses Dialer Testing Framework (DTF) vereinfacht diese Prozesse:

  • Das Einrichten eines echten Geräts zur schnellen Validierung von Ideen nimmt in der Regel viel Zeit in Anspruch.
  • Zum Testen der Funktionen für mehrere Anrufe benötigen Sie mindestens drei Smartphones mit SIM-Karte, zwei die nur für Anrufe verwendet werden.
  • Fehler in Dialer und seinen Abhängigkeiten beheben

Da die Funktionalität von Dialer von mehreren Technologie-Stacks abhängt, wie Telekommunikation, Telefonie, und Bluetooth Hands Free Profile (HFP), können Fehler und Probleme, führen zu unzuverlässigen Anrufen. Das DTF ermöglicht die Ausführung von Dialer unabhängig von diesen Abhängigkeiten.

Funktionen

Das DTF bietet folgende Funktionen:

  • Anruf-Placement: Anrufe tätigen und empfangen – ganz ohne anruffähiges Gerät über das Terminal mit einer Android Debug Bridge (ADB) Nachricht an alle.
  • Anrufe simulieren Die Anruffunktion ist Simulation. Dazu gehören das Halten, Stummschalten und Zusammenführen und Trennen.

DTF verwenden

Hinweis : Die DTF-Datei ist nur ab Android 11 verfügbar.

So verwenden Sie die DTF-Datei:

  1. Erstellen und installieren Sie die Build-Variante CarDialerAppForTesting so:
    cd %rRepoRoot%/packages/apps/Car/Dialer
    
    m CarDialerAppForTesting
    
    adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
    

    Infolgedessen ersetzt CarDialerAppForTesting die ursprüngliche Telefon App auf der Testgerät.

    CarDialerAppForTesting funktioniert nicht mit echten Geräten. Für einen Test mit einem echten Gerät Installiere CarDialerApp.apk neu.

Befehle

Die folgenden ADB-Befehle funktionieren erst nach dem ersten Start der Telefon App und erfordern Übertragungsempfänger initialisiert werden soll. Nach dem Starten der Telefon App muss ein gefälschtes Bluetooth-Gerät verwendet werden, verbunden sein. Verwenden Sie dazu den Befehl „Geräteverbindung herstellen“ (Einrichtung) .

Gerät verbinden

Stellt eine gefälschte Bluetooth-Verbindung zur Telefon App her und muss zuerst angerufen werden, um den Zugriff zu aktivieren auf alle anrufbezogenen Befehle.

So verbindest du ein Gerät:

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

Hinweis : Erst nachdem ein gefälschtes Bluetooth-Gerät verbunden wurde, kann jede werden die folgenden Befehle verwendet.

Ausgehenden Anruf tätigen

So tätigen Sie einen Anruf:

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

Eingehende Anrufe annehmen

So nehmen Sie einen eingehenden Anruf an:

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

Anruf beenden

So beenden Sie einen Anruf:

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

Aktuellen Anruf halten

So halten Sie den aktuellen Anruf:

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

Halte den aktuellen Anruf zurück

So beenden Sie den aktuellen Anruf:

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

Anrufe zusammenführen

Primären und sekundären Anruf zu einer Telefonkonferenz zusammenführen Dieser Befehl funktioniert nur, der primäre und der sekundäre Aufruf vorhanden sind. Eine bestehende Telefonkonferenz wird als Entität.

So führen Sie Anrufe zusammen:

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

Alle Anrufe löschen

So entfernen Sie alle Anrufe aus der Anrufliste:

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

Emulator-Build

Manchmal möchten Entwickler Änderungen der Benutzeroberfläche in einem Emulator testen. In solchen Fällen CarDialerAppEmulatorBuild vereinfacht die Einrichtung und bietet eingeschränkte Funktionalität im Vergleich zum leistungsstärkeren "DTF".

Testdaten

Beim Starten der Telefon App wird die Bluetooth-Fehlerseite umgangen und der Hauptinhalt der TelecomActivity wird angezeigt. Kontakte und Anruflisten werden auf der lokalen . Entwickler können mit der Stock-Kontakte-App Testkontakte erstellen oder eine .vcf-Datei.

Anruf-Mocking

Verwenden Sie zum Simulieren eingehender Anrufe den Android-Emulator, um Telnet-Befehle zu senden. Weitere Informationen finden Sie unter Apps im Android-Emulator ausführen und Befehle an die Emulator-Konsole senden.

telnet localhost 5554
gsm call xxx-xxx-xxxx

Wenn du einen Anruf über die Telefon App tätigst oder einen Anruf-Intent überträgst, wird ein ausgehender Anruf gestartet.

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