Depurar y probar

Teléfono incluye un marco de trabajo de depuración y prueba integrado que te permite realizar las siguientes tareas: valida las funciones de la app de Teléfono sin la necesidad de contar con dispositivos listos para realizar llamadas. Esto elimina la necesidad para Bluetooth y los teléfonos conectados con servicio de datos móviles. Este framework de prueba de Teléfono (DTF) simplifica estos procesos:

  • Configurar un dispositivo real para validar ideas rápidamente suele consumir tiempo.
  • Para probar las funciones para llamadas múltiples, se requieren al menos tres teléfonos con tarjeta SIM, dos de que se usan solo para realizar llamadas.
  • Cómo depurar Teléfono y sus dependencias

Dado que la funcionalidad de Teléfono depende de varios componentes tecnológicos, como telecomunicaciones, telefonía, y el perfil de manos libres (HFP) de Bluetooth, los errores y problemas que surjan en esas dependencias pueden es posible que el Teléfono funcione mal. El DTF permite que Teléfono se ejecute independientemente de estas dependencias.

Funciones

El DTF proporciona las siguientes funciones:

  • Ubicación de la llamada. Realiza y recibe llamadas sin necesidad de listo para realizar llamadas a través de la terminal con una Android Debug Bridge (adb) transmisión.
  • Llamadas de prueba La funcionalidad de llamadas es simulada. Esto incluye mantener presionados, silenciar combinar y desconectarse.

Usa el DTF

Nota: El DTF solo está disponible en Android 11 o versiones posteriores.

Para usar el DTF, haz lo siguiente:

  1. Compila e instala la variante de compilación CarDialerAppForTesting de la siguiente manera:
    cd %rRepoRoot%/packages/apps/Car/Dialer
    
    m CarDialerAppForTesting
    
    adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
    

    Como resultado, CarDialerAppForTesting reemplaza la app de Teléfono original en la dispositivo de prueba.

    CarDialerAppForTesting no funciona con dispositivos reales. Para hacer la prueba con un dispositivo real, reinstala CarDialerApp.apk.

Comandos

Los siguientes comandos adb funcionan solo después de que se inicia Teléfono por primera vez y requieren el receptor de emisión que se inicializará. Después de iniciar el Teléfono, un dispositivo Bluetooth falso debe estar conectados. Para ello, usa el siguiente comando Conectar un dispositivo (Configuración).

(Configuración) Conecta un dispositivo

Establece una conexión Bluetooth falsa con el Teléfono y se debe llamar primero para habilitar el acceso. a todos los comandos relacionados con las llamadas.

Para conectar un dispositivo, haz lo siguiente:

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

Nota: Solo después de que se conecte un dispositivo Bluetooth falso, usar los siguientes comandos.

Hacer una llamada saliente

Para realizar una llamada saliente:

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

Cómo recibir una llamada entrante

Para recibir una llamada entrante, sigue estos pasos:

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

Cómo finalizar una llamada

Para finalizar una llamada, sigue estos pasos:

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

Retener la llamada actual

Para poner la llamada actual en espera, haz lo siguiente:

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

Dejar de esperar la llamada actual

Para quitar la llamada actual en espera, haz lo siguiente:

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

Combinar llamadas

Combina las llamadas principales y secundarias en una conferencia telefónica. Este comando funciona solo cuando existen las llamadas primarias y secundarias. Una conferencia telefónica existente se considera un solo .

Para combinar llamadas, haz lo siguiente:

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

Borrar todas las llamadas

Para quitar todas las llamadas de la lista, sigue estos pasos:

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

Compilación del emulador

A veces, es posible que los desarrolladores quieran probar los cambios de la IU en un emulador. En esos casos, CarDialerAppEmulatorBuild ofrece una configuración simplificada y una funcionalidad limitada. en comparación con el DTF más potente.

Datos de pruebas

Cuando se inicia el Teléfono, se omite la página de error de Bluetooth y se muestra el contenido principal de Se muestra TelecomActivity. Los contactos y los registros de llamadas se muestran dispositivo. Los desarrolladores pueden usar la app de Contactos de stock para crear contactos de prueba o importar un .vcf.

Simulación de llamadas

Si quieres simular llamadas entrantes, usa Android Emulator para enviar comandos de Telnet. Para obtener más información, consulta Cómo ejecutar apps en Android Emulator y Envía comandos de la consola del emulador.

telnet localhost 5554
gsm call xxx-xxx-xxxx

Cuando realizas una llamada telefónica en la app de Teléfono o transmites un intent de llamada, se inicia una llamada saliente.

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