En esta página, se incluyen instrucciones para configurar y ejecutar las pruebas de Android 16 QPR2 y Android 17 del lado del host del Verificador del CTS (CTS-V). Existen dos tipos de pruebas del lado del host: las pruebas multidispositivo (introducidas antes de Android 17) y las pruebas interactivas (nuevas en Android 17):
- Las pruebas multidispositivo son pruebas completamente automatizadas.
- Las pruebas interactivas son pruebas semiautomatizadas que requieren que realices algunos pasos manuales en el dispositivo que se está probando (DUT).
Además de las nuevas pruebas interactivas, las pruebas manuales de precisión de medición de distancia y de telecomunicaciones ahora son pruebas multidispositivo del host, y se requieren pruebas de conexión Wi-Fi.
Cómo configurar pruebas del host
Sigue estos pasos para configurar las pruebas del host (las pruebas de varios dispositivos requieren una configuración adicional):
Verifica que tu máquina de escritorio cumpla con los requisitos del sistema operativo para CTS.
Sigue los pasos 2 y 5 de Instala el software de escritorio para instalar y verificar que adb, AAPT2 y Python estén instalados correctamente en tu escritorio.
La versión de Python para computadoras de escritorio debe ser 3.11 o posterior. Para determinar la versión de Python, ejecuta
python3 --version. Si la versión es anterior a la 3.11, instala la versión oficial más reciente de Python. Para obtener más información, consulta la sección Descargas depython.org.Algunas pruebas requieren que el host tenga el módulo
venvde Python. En los sistemas Debian y Ubuntu, es posible que este módulo no esté instalado de forma predeterminada. Para determinar si la versión de Python para computadoras tiene el módulovenv, ejecutapython3 -m venv venv. Si este comando falla, se muestra un mensaje de error. Sigue las indicaciones para instalar el paquetepython3.x-venv.
Si solo ejecutas las pruebas interactivas del host, continúa con Ejecuta pruebas del host. Sin embargo, si quieres ejecutar pruebas de varios dispositivos, consulta Cómo configurar pruebas de varios dispositivos del lado del host.
Configura pruebas de varios dispositivos del lado del host
Sigue estos pasos para configurar las pruebas de varios dispositivos del lado del host:
Verifica que tu máquina de escritorio cumpla con los requisitos del sistema operativo para CTS.
Sigue los pasos 2 y 5 de Instala el software de escritorio para instalar y verificar que adb, AAPT2 y Python estén instalados correctamente en tu escritorio.
La versión de Python para computadoras de escritorio debe ser 3.11 o posterior. Para determinar la versión de Python, ejecuta
python3 --version. Si la versión es anterior a la 3.11, instala la versión oficial más reciente de Python. Para obtener más información, consulta la sección Descargas depython.org.- Algunas pruebas requieren que el host tenga el módulo
venvde Python. En los sistemas Debian y Ubuntu, es posible que este módulo no esté instalado de forma predeterminada. Para determinar si la versión de Python para computadoras tiene el módulovenv, ejecutapython3 -m venv venv. Si este comando falla, se muestra un mensaje de error. Sigue las indicaciones para instalar el paquetepython3.x-venv.
- Algunas pruebas requieren que el host tenga el módulo
Prepara dos DUT que coincidan, cada uno con la configuración de CTS-V.
- Para obtener detalles sobre cómo configurar un DUT, consulta Configura el DUT.
- Para obtener detalles sobre cómo configurar el CTS-V, consulta Configuración.
Ve a la sección de configuración para tu tipo de prueba:
- Para las pruebas de NFC, consulta Cómo configurar pruebas de NFC.
- Para las pruebas de conexión de AP de Wi-Fi, consulta Configura pruebas de conexión de AP de Wi-Fi.
- Para las pruebas de exactitud de la medición de distancia, consulta Cómo configurar las pruebas de exactitud de la medición de distancia.
- Para probar el módulo de CDM, ve a Cómo configurar pruebas estándar de dos dispositivos y, luego, a Cómo configurar pruebas de CDM.
Si tu prueba no está en esta lista, continúa con el paso para configurar pruebas estándar de dos dispositivos.
Configura pruebas de NFC
Las pruebas de NFC usan un DUT y un chip NFC PN532.
Para configurar las pruebas de NFC, haz lo siguiente:
- Compra un chip NFC PN532. Te recomendamos el PN532 todo en uno.
- En el DUT, navega a la app de Configuración.
- Habilita la NFC.
Coloca el chip NFC de la siguiente manera:
En el caso de los teléfonos, coloca el lector de NFC del DUT como se muestra en la Figura 1:

Figura 1: Posicionamiento del chip NFC
Para otros tipos de dispositivos, coloca el chip junto a la antena NFC del dispositivo.
Conecta el chip NFC PN532 a tu estación de trabajo de pruebas con un cable USB.
Configura pruebas de conexión de AP de Wi-Fi
Las pruebas de conectividad del punto de acceso Wi-Fi (AP) (CtsWifiConnectionTests) prueban la conectividad entre un DUT y un AP. Puedes configurar estas pruebas de las siguientes
dos maneras:
- Opción 1: Usa una red Wi-Fi existente que hayas configurado para CTS-V.
- Opción 2: Configura un punto de acceso (AP) programable.
Para Android 17, recomendamos la opción 2, pero no es obligatoria. En las siguientes dos secciones, se explica cada opción.
Opción 1: Usa una red Wi-Fi existente que hayas configurado para CTS-V
La opción 1 requiere un DUT de Android dentro del área de cobertura de la red Wi-Fi. Si el DUT está en una caja de protección y no puede conectarse a la red Wi-Fi, quítalo de la caja.
Opción 2: Configura un AP programable
Para configurar un AP programable para las pruebas de conexión Wi-Fi, sigue estos pasos:
Compra el AP Banana Pi R3 y configúralo. Para obtener información sobre cómo comprar y configurar el AP Banana Pi R3, consulta Configura el AP Banana Pi BPI-R3.
(Opcional) Si no tienes una caja de protección, te recomendamos la caja de protección JTP-SR101. Compra esta caja con la siguiente información:
Dong Guan Zheng Sheng Electronics Technology Co., LTD
Bohui Industrial Park, Panlong Road, Liaobu Town, Dongguan City, Guangdong Province, China
Contacto: Forest Pan
Correo electrónico: forest.pan@jtpmak.cn
Teléfono (China): +86 18676993556
Conecta el DUT y el AP al host, y colócalos en una caja de protección de RF. El DUT y el AP deben estar separados por al menos 10 cm. En la figura 2, se muestra esta configuración:

Figura 2: DUT y AP en la caja de protección
Usa SSH para verificar que se pueda acceder al AP desde el host.
Configura pruebas de exactitud de la medición de distancia
Para configurar las pruebas de precisión de la medición de distancia, haz lo siguiente:
Coloca dos DUTs de Android que coincidan a 1 metro de distancia, a la misma altura, con una línea de visión directa y con la parte posterior de cada dispositivo enfrentada. En la Figura 3, se muestra esta orientación:

Figura 3: La orientación del dispositivo.
Conecta ambos dispositivos a la máquina de escritorio con cables USB.
Configura pruebas estándar de dos dispositivos
Para la configuración predeterminada de dos dispositivos, haz lo siguiente:
Coloca dos DUTs de Android que coincidan a una distancia de aproximadamente 20 cm.
Muy recomendable: Coloca ambos dispositivos en una caja de protección. La caja de protección mejora la estabilidad de las pruebas y facilita la depuración de las fallas.
Para las pruebas de telecomunicaciones, cada DUT debe tener una tarjeta SIM y señal móvil. Si los DUT están en una caja de protección, la señal móvil debe acoplarse a la caja. De lo contrario, saca los dispositivos de la caja de protección.
Opcional: Configura un rastreador de OTA para la depuración de Wi-Fi.
Configura pruebas de CDM
El caso de prueba test_permissions_sync tiene un comportamiento diferente según el tipo de compilación de los dispositivos en los que se ejecuta la prueba. Es fundamental que los OEM prueben ambas compilaciones, depurables (userdebug o eng) y no depurables (user), y que las pruebas se aprueben en ambos casos.
Exención
La cláusula del CDD para la implementación de la API de sincronización de permisos solo requiere que pueda transferir datos entre dispositivos a través de un canal seguro. Dado que la implementación del canal seguro no es un requisito de cumplimiento de la CDD, esta prueba se puede omitir en las compilaciones no depurables (de usuario), pero solo si quieres inhabilitar la función de sincronización de permisos del CDM.
Las pruebas deben aprobarse en compilaciones depurables sin excepción.
Requisitos previos para realizar pruebas en compilaciones no depurables
Si no estás exento, verifica que cumplas con los siguientes requisitos previos.
El canal seguro usa AVF (AttestationVerificationFramework) para verificar la confiabilidad del hardware. Las certificaciones generadas por ambas partes contienen
varios datos sobre sí mismas para verificar que no haya habido
ninguna alteración no autorizada en su sistema. AVF verifica los siguientes estados
durante el proceso de verificación:
El dispositivo tiene acceso a Internet.
El dispositivo usa el inicio verificado y la compilación está firmada con una clave de lanzamiento (no una clave de desarrollo).
El dispositivo tiene el bootloader bloqueado. Para obtener más detalles, consulta Cómo bloquear el bootloader.
Los niveles de parches del SO, del inicio de claves y del proveedor de claves están dentro de los 12 meses. No uses una compilación que tenga más de un año.
La certificación del dispositivo está respaldada por uno de los certificados raíz aprobados por el proveedor. Especifica tus certificados raíz de confianza en la superposición de recursos
vendor_required_attestation_certificates.xml.
Ejecuta pruebas del host
Algunas pruebas multidispositivo, como las de NFC, requieren una configuración adicional. En el caso de las pruebas que requieren una configuración adicional, cada prueba se ejecuta por separado. En el caso de las pruebas que no requieren configuración adicional, puedes ejecutarlas en un grupo.
En tu estación de trabajo de prueba, inicia la consola de
cts-v-hostdesde el directorio en el que se descomprimió el paquete ZIP de CTS-V:./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefedEn la app de CTS-V del DUT, haz clic en Host-side Tests. En la Figura 4, se muestran las pruebas del host en la app de CTS-V:
Figura 4: Pruebas del host en la app de CTS-V
Se muestra una lista de módulos de prueba de varios dispositivos del host.
En la consola del host de CTS-V, usa el siguiente comando para ejecutar pruebas de varios dispositivos que usen una configuración estándar de dos dispositivos:
run cts-v-host-multidevice-defaultLos resultados aparecen debajo de cada módulo de prueba en la app de CTS-V en el DUT. Las pruebas marcadas en verde se aprobaron, mientras que las marcadas en rojo fallaron.
En la figura 5, se muestran ejemplos de resultados de las pruebas de CtsCompanionDeviceManager:
Figura 5: Resultados de las pruebas de varios dispositivos del host en la app de CTS-V
En la consola del host de CTS-V, usa el siguiente comando para ejecutar las pruebas interactivas:
run cts-v-host-interactiveLos resultados aparecen debajo de cada módulo de prueba en la app de CTS-V en el DUT. Las pruebas marcadas en verde se aprobaron, mientras que las marcadas en rojo fallaron.
Para cada prueba que requiera una configuración adicional, ejecútala por separado con el siguiente comando:
run cts-v-host -m test_module_namePor ejemplo, para ejecutar las pruebas de NFC, usa este comando:
run cts-v-host -m CtsNfcHceMultiDeviceTestCasesLos resultados aparecen debajo de cada módulo de prueba en la app de CTS-V en el DUT. Las pruebas marcadas en verde se aprobaron, mientras que las marcadas en rojo fallaron.
Ejecuta pruebas de conexión de AP de Wi-Fi
Puedes ejecutar las pruebas de conexión del AP de Wi-Fi de las siguientes dos maneras:
- Opción 1: Usa una red Wi-Fi existente que hayas configurado para CTS-V.
- Opción 2: Configura un AP programable.
Opción 1: Usa una red Wi-Fi existente que hayas configurado para CTS-V
Para ejecutar las pruebas de conexión del AP de Wi-Fi en una red Wi-Fi existente, haz lo siguiente:
Edita el archivo de configuración del banco de pruebas (
WifiConnectionTestbed.yaml). Este archivo se encuentra en el directorio en el que se descomprime el CTS-Verifier. Por ejemplo:./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yamlCambia el valor de los campos
wifi_ssidywifi_passwordpor el SSID y la contraseña de la red Wi-Fi. En el siguiente ejemplo, se muestra la ubicación de estos parámetros de configuración:TestBeds: - Name: WifiConnectionTestbed Controllers: AndroidDevice: '*' TestParams: use_programmable_ap: False wifi_ssid: WIFI-SSID wifi_password: WIFI-PASSWORDEn la consola del host de CTS-V, ejecuta el siguiente comando:
run cts-v-host -m CtsWifiConnectionTests
Opción 2: Ejecuta con un AP programable
Para ejecutar las pruebas de conexión de AP de Wi-Fi en un AP programable, haz lo siguiente:
Edita el archivo de configuración del banco de pruebas (
WifiConnectionTestbed.yaml). Este archivo se encuentra en el directorio en el que se descomprime el CTS-Verifier. Por ejemplo:./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yamlCambia el valor de
hostnamepor la dirección IP del AP, según tu configuración de SSH local. Para identificar la dirección IP, consulta Busca la dirección IP del AP. En el siguiente ejemplo, se muestra la ubicación del parámetro de configuraciónhostname:TestBeds: - Name: WifiConnectionTestbed Controllers: AndroidDevice: '*' # Specify settings for the AP. OpenWrtDevice: - hostname: AP-IP skip_init_reboot: True TestParams: use_programmable_ap: TrueEn la consola del host de CTS-V, ejecuta el siguiente comando:
run cts-v-host -m CtsWifiConnectionTests
Ejecuta pruebas del lado del host USB
Android 17 incluye pruebas del host de CTS-V de USB que requieren adb por Wi-Fi para
ejecutarse.
Algunas pruebas de USB requieren el uso del host de CTS-V para acceder a las APIs del sistema que tienen
permisos a los que la app normal de CTS-V no puede acceder. Estas pruebas no están vinculadas
y requieren el uso de adb a través de Wi-Fi.
Se requieren los siguientes accesorios Type-C si el DUT admite informar el tipo de BC 1.2 del socio de puerto o los perfiles de alimentación USB en UsbPort.java:
- Un cargador USB tipo C con Power Delivery (PD)
- Un puerto de bajada estándar (SDP) de carga de batería USB 1.2 (BC 1.2) Estos puertos se limitan a proporcionar 500 mA o 900 mA al DUT y, por lo general, se encuentran en los puertos USB de los concentradores externos.
- Un puerto de carga de bajada (CDP) USB BC 1.2 Estos puertos pueden proporcionar 1.5 A de corriente al DUT y datos. Es probable que un puerto tipo C en una laptop o computadora sea un CDP.
- Un puerto de carga dedicado (DCP) USB BC 1.2 Estos puertos pueden proporcionar 1.5 A de corriente al DUT sin datos. Es probable que el cargador USB tipo C con PD de esta lista sea un DCP.
Conecta el DUT con
adba través de Wi-Fi. Para obtener detalles sobre la configuración, consulta Cómo conectarse a un dispositivo a través de Wi-Fi.Desconecta físicamente el dispositivo de todas las conexiones USB. La prueba falla si el dispositivo está conectado a un host o accesorio USB cuando se ejecuta el comando de prueba.
Ejecuta el siguiente comando de prueba:
run cts-v-host -m CtsUsbTypecTestCases
Después de las pruebas, los resultados aparecen en la app de CTS-V en Host-side tests, como se muestra en las siguientes figuras:
Figura 6: Pruebas de USB del host en la app de CTS-V
Figura 7: Conjunto de pruebas CtsUsbTypecTestCases en la app de CTS-V de USB del host
Soluciona problemas de las pruebas multidispositivo
En esta sección, se explica cómo solucionar problemas habituales.
No se pudo obtener el número de teléfono durante CtsTelecomTest
Si recibes el mensaje de error Failed to get phone number for <serial>,
sigue estos pasos:
Verifica que cada DUT tenga una tarjeta SIM instalada.
Si el error persiste, es posible que las tarjetas SIM no admitan la recuperación automática de números, en cuyo caso debes proporcionar de forma explícita los números de teléfono en el comando.
Por ejemplo, para el DUT 1 (número de serie
17011FDEE0002N, número de teléfono555-0000) y el DUT 2 (número de serieR3CN90YNAR, número de teléfono555-1111), agrega los siguientes argumentos al comandorun cts-v-host:--module-arg CtsTelecomTest:dut_serial:17011FDEE0002N \ --module-arg CtsTelecomTest:dut_phone_number:555-0000 \ --module-arg CtsTelecomTest:ref_phone_number:555-1111
No hay respuesta del servidor durante CtsMultiDeviceGenericRangingAccuracyTests
Si recibes el siguiente mensaje de error, es posible que la app de prueba se haya detenido o finalizado debido a la administración de procesos en segundo plano específica del OEM en ciertos dispositivos:
mobly.snippet.errors.ProtocolError: <AndroidDevice|Initiator> No response from server. Check the device logcat for crashes.
Para resolver este problema, inhabilita las restricciones en segundo plano o agrega a la lista de entidades permitidas los siguientes paquetes:
| Paquete | Nombre visible |
|---|---|
com.google.snippet.uwb |
CtsUwbSnippetApp |
com.google.snippet.ranging |
CtsRangingSnippetApp |
com.google.snippet.bluetooth |
CtsBluetoothMultiDeviceSnippetApp |
com.google.android.mobly.snippet.bundled |
androidx.multidex.MultDexApplication |
Se corrigió el problema por el que no se obtenía respuesta para GetFirmwareVersion durante las pruebas de NFC.
Si recibes el mensaje verify_firmware_version RuntimeError: No response
for GetFirmwareVersion mientras ejecutas las pruebas de varios dispositivos, estas no podrán
acceder a la placa NFC PN532.
Para solucionar este problema, identifica la ruta de acceso en serie que usa la placa NFC PN532 en tu
host, como dev/ttyUSB1, y, luego, especifícala de forma manual con el argumento --module-arg
en la consola:
run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1
Cómo corregir el mensaje de error de transacción fallida durante las pruebas de NFC
Si recibes el mensaje Transaction failed, check device logs for more
information. para todos los casos de prueba de NFC, es probable que se deba a que el chip NFC del DUT
no puede detectar el PN532.
Si tienes varios dispositivos conectados al host y algunos de ellos no tienen un PN532 colocado en la parte superior, es posible que se haya seleccionado el DUT incorrecto. Para obtener más información, consulta Cómo configurar pruebas de NFC.
Para solucionar este problema, realiza una de las siguientes acciones:
Establece el número de serie correcto del DUT en el comando de prueba del lado del host con la marca
-s.Desconecta todos los dispositivos que no sean DUT del host.
Se ignora el caso de prueba de CDM test_permissions_sync
Si la prueba se ejecuta en dispositivos no depurables, consulta si estás exento. De lo contrario, verifica que ambos dispositivos cumplan con los requisitos previos.