Cómo configurar el CTS

Para ejecutar el CTS, primero prepara el entorno físico, tu máquina de escritorio y el dispositivo Android que usas para la prueba.

Entorno físico

Balizas Bluetooth LE

Si el dispositivo a prueba (DUT) admite Bluetooth LE, coloca al menos tres Balizas Bluetooth LE a 5 metros del DUT para la prueba de escaneo de Bluetooth LE. Esas balizas no necesitan configurarse ni emitirse en términos específicos, y se pueden como iBeacon, Eddystone o incluso dispositivos que simulen balizas BLE.

Banda ultraancha

Si el DUT admite banda ultraancha (UWB), se debe tener otro dispositivo que la UWB apoya a UWB debe colocarse lo suficientemente cerca y orientado de modo que antenas y zona sin conexión de radio. Para las pruebas de precisión de la distancia, hay necesidades específicas de posicionamiento y orientación. Para obtener más información sobre la configuración, consulta Requisitos de UWB. La prueba de UWB debe ejecutarse manualmente y especificar en la línea de comandos cuáles son están a un metro de distancia. Para obtener detalles sobre la fragmentación necesaria para esta prueba, consulta Fragmentación local.

Cámaras

Cuando ejecutes el CTS de la cámara, usa condiciones de iluminación normales con un patrón de prueba. gráfico (como un patrón de tablero de ajedrez). Coloca el gráfico de patrones de prueba según a la distancia de enfoque mínima del DUT para asegurarte de que no esté demasiado cerca del lente.

Apunta los sensores de la cámara hacia una escena con suficiente luz para permitir sensores a prueba para alcanzar y permanecer en el máximo de fotogramas objetivo configurados por segundo (FPS), como se especifica en CONTROL_AE_TARGET_FPS_RANGE Esto se aplica a todos los sensores de la cámara informados por getCameraIdList A medida que la prueba se itera en los dispositivos de la lista y mide el rendimiento individualmente.

Si el DUT admite cámaras externas, como cámaras web USB, enchufa una cámara cuando se ejecuta CTS. De lo contrario, las pruebas del CTS fallan.

GPS/GNSS

Si el DUT admite el sistema de posicionamiento global o el satélite de navegación global (GPS/GNSS), proporcionan una señal de GPS/GNSS al DUT en una nivel de señal para la recepción y el cálculo de la ubicación GPS. La parte de GPS debe tener y que cumpla con el estándar ICD-GPS-200C. De lo contrario, la señal GPS/GNSS puede ser de cualquier tipo, incluido un simulador satelital o un repetidor GPS/GNSS de señales exteriores puedes colocar el DUT lo suficientemente cerca de una ventana de modo que pueda recibir suficiente señal GPS/GNSS.

Wi-Fi e IPv6

Las pruebas de CTS requieren una red Wi-Fi que admita IPv4 e IPv6, y que tenga Internet con DNS funcional para IPv4 e IPv6, admite multidifusión IP y puede tratar el DUT como un cliente aislado. Un cliente aislado es una configuración en la que el DUT no tiene visibilidad para los mensajes de emisión o redes múltiples de esa subred. Esta con una configuración de punto de acceso (AP) Wi-Fi o ejecutando el DUT en un aislada sin que se conecten otros dispositivos.

Si no tienes acceso a una red IPv6 nativa, una red de operadores IPv6 o una para pasar algunas pruebas dependiendo de IPv6, puedes usar un punto de acceso Wi-Fi y un túnel IPv6.

Para pasar el CTS, el DUT necesita que se establezcan las marcas UP, BROADCAST y MULTICAST la interfaz Wi-Fi. La interfaz Wi-Fi requiere que se asignen direcciones IPv4 e IPv6. Verifica las propiedades de la interfaz Wi-Fi con adb shell ifconfig.

Para dispositivos compatibles Simultaneidad de STA/STA de Wi-Fi: se requieren varias redes Wi-Fi (al menos 2). Para pasar el CTS, el Wi-Fi Las redes deben ejecutarse en bandas diferentes con SSID distintos o en la el mismo SSID con distintos BSSID.

Wi-Fi RTT

Android incluye API de Wi-Fi RTT para un tiempo de ida y vuelta (RTT) de Wi-Fi de recuperación ante desastres. Esto permite que los dispositivos midan la distancia a los puntos de acceso con una precisión de 1 a 2 metros, lo que aumenta de manera significativa la precisión de la ubicación en interiores. Se recomiendan los siguientes dos dispositivos compatibles con Wi-Fi RTT: Google Wifi y Punto de acceso Fitlet2 de Comppulab (se configura en un ancho de banda de 40 MHz a 5 GHz).

Los puntos de acceso deben estar encendidos, pero no requieren conexión de red. No es necesario que los puntos de acceso estén junto al dispositivo de prueba, pero se recomienda estar a menos de 40 pies del DUT. Por lo general, un punto de acceso es suficiente.

Configuración de una máquina de escritorio

Precaución: El CTS admite máquinas de Linux de 64 bits. El SO Windows no admite el CTS o macOS.

FFmpeg

Instala el paquete de ffmpeg versión 5.1.3 (o posterior) en la máquina anfitrión.

Actualización de la máquina anfitrión

Se recomienda actualizar la RAM de la máquina anfitrión del CTS a 128 GB y el HDD a 256 GB. Es necesario para admitir el mayor número de casos de prueba de CTS y un aumento en la reserva de espacio del montón de Java en el intercambio.

ADB y AAPT2

Antes de ejecutar el CTS, asegúrate de haber instalado las versiones recientes de ambos Android Debug Bridge (adb) y Android Asset Packaging Tool (AAPT2) y agregaste la ubicación de esas herramientas a la ruta de acceso del sistema de tu máquina.

Para instalar ADB y AAPT2, descarga la versión más reciente Herramientas de la plataforma del SDK de Android y Herramientas de compilación del SDK de Android de Android Studio SDK Manager o en la sdkmanager de línea de comandos.

Asegúrate de que adb y aapt2 estén en la ruta de acceso de tu sistema. El siguiente comando supone que descargaste los archivos del paquete en un subdirectorio llamado android-sdk en el directorio principal:

export PATH=$PATH:$HOME/android-sdk/platform-tools:$HOME/android-sdk/build-tools/<tools version number>

Java Development Kit para Ubuntu

Instala la versión adecuada de Java Development Kit (JDK).

  • En Android 11, instala OpenJDK11.
  • En el caso de Android 9 y Android 10, instalar OpenJDK9.
  • Para Android 7.0, 7.1, 8.0 y 8.1, instala OpenJDK8.

Para obtener más información, consulta los requisitos de JDK.

Configuración de la compatibilidad con Python

Instala virtualenv en tu plataforma siguiendo la Instalación instrucciones.

Puedes verificar que la instalación se realizó de forma correcta si invocas virtualenv -h.

Archivos CTS

Descargue y abra los paquetes de CTS desde Descargas del Conjunto de pruebas de compatibilidad que coinciden con la de tus dispositivos Versión de Android y todas las interfaces binarias de la aplicación (ABI) que admiten tus dispositivos.

Descarga y abre la última versión de la Archivos multimedia de CTS.

Descarga archivos CTS relacionados con la línea principal (opcional)

Cuando ejecutas una versión del CTS la primera vez, el CTS descarga dinámicamente algunas Archivos CTS relacionados con la línea principal, que agregan al menos 10 minutos al tiempo de ejecución según la velocidad de tu red.

Para evitar este tiempo de ejecución del CTS agregado, puedes descargar el CTS relacionado con la línea principal. archivos antes de ejecutar la versión de CTS siguiendo estas instrucciones:

  1. Para obtener el nivel de API de Android en el dispositivo, ejecuta lo siguiente:

    adb shell getprop ro.build.version.sdk
    
  2. Sigue las instrucciones de la secuencia de comandos download_mcts.sh. para descargar los archivos principales del CTS de línea.

    La descarga tarda al menos 10 minutos, según la velocidad de la red.

Detección de dispositivos

Sigue el paso para configurar el sistema para que detecte tu dispositivo.

Límite de memoria

Es posible que quieras aumentar el máximo de memoria disponible durante la ejecución de prueba en el cts-tradefed secuencia de comandos. Consulta la CL de ejemplo para obtener más información.

Configuración de dispositivos Android

Compilaciones de usuarios

Un dispositivo compatible se define como aquel con una compilación firmada por el usuario o la clave de lanzamiento. El dispositivo debe ejecutar una imagen de sistema basada en una imagen de compatibilidad conocida. compilación de usuario (Android 4.0 o superior) a partir de Nombres internos, etiquetas y números de compilación.

Primera propiedad de compilación de nivel de API

Algunos requisitos del CTS dependen de la compilación en la que se creó originalmente un dispositivo con el que se envían los datos. Por ejemplo, los dispositivos que originalmente se enviaron con compilaciones anteriores podrían excluirse de los requisitos del sistema que se aplican a los dispositivos que se envían con compilaciones posteriores.

Para que esta información esté disponible para el CTS, los fabricantes de dispositivos podrían tener definió la propiedad de tiempo de compilación ro.product.first_api_level El valor de esto es el primer nivel de API con el que el dispositivo se lanzó comercialmente.

Los fabricantes de dispositivos pueden reutilizar la implementación subyacente común para lanzar un producto nuevo como actualización de uno existente en el mismo dispositivo grupo. Los fabricantes de dispositivos pueden establecer opcionalmente el nivel de API de la API producto a ro.product.first_api_level, de modo que los requisitos de actualización sean se aplica a CTS y Treble/VTS.

Los fabricantes de dispositivos pueden definir PRODUCT_SHIPPING_API_LEVEL en su device.mk para establecer esta propiedad, como se muestra en el siguiente ejemplo:

# PRODUCT_SHIPPING_API_LEVEL sets ro.product.first_api_level to indicate
# the first api level that the device has been commercially launched on.
PRODUCT_SHIPPING_API_LEVEL := 21

Primer nivel de API para Android 9 o versiones posteriores

Para los dispositivos que se lanzaron con Android 9 o versiones posteriores, establece la ro.product.first_api_level a un valor válido de Nombres internos, etiquetas y números de compilación.

Primer nivel de API para Android 8.x o versiones anteriores

Para los dispositivos con Android 8.x o versiones anteriores, desactiva (quita) la opción La propiedad ro.product.first_api_level para la primera compilación del producto. Para todas las compilaciones posteriores, establece ro.product.first_api_level en el nivel de API correcto valor. Esto permite que la propiedad identifique correctamente un producto nuevo y conserva la información sobre el primer nivel de API del producto. Si la marca es Si no se establece, Android asigna Build.VERSION.SDK_INT a ro.product.first_api_level.

Paquetes de corrección de compatibilidad de CTS

Android 10 o versiones posteriores incluyen un formato de paquete llamado APEX Para ejecutar pruebas de CTS para la administración de APEX APIs (como actualizar a una nueva versión o informar sobre APEX activos) preinstala un paquete CtsShimApex en una partición /system.

La prueba de validación de la corrección de compatibilidad de APEX verifica la implementación de CtsShimApex.

Requisitos de ro.apex.updatable

  • Si la propiedad ro.apex.updatable se establece en true, CtsShimApex es esta función es obligatoria para todos los dispositivos que admiten la administración de paquetes de APEX.

  • Si falta la propiedad ro.apex.updatable o no se establece, CtsShimApex no es necesario estar preinstalada en un dispositivo.

La prueba de validación de la corrección de compatibilidad de APEX verifica la implementación de CtsShimApex.

Preinstalaciones y precargas de CtsShim

A partir de Android 11, CtsShimApex contiene dos aplicaciones compiladas previamente (creadas a partir fuente de compilación), que no contienen ningún código, excepto el manifiesto. El CTS usa estas apps para lo siguiente: los privilegios y permisos de prueba.

Si el dispositivo no admite la administración de paquetes APEX (es decir, el ro.apex.updatable falta o no se estableció), o si el dispositivo está con una versión 10 o anterior, las dos apps precompiladas deben preinstalado en el sistema por separado.

Si se admite APEX, las preinstalaciones de la versión correspondiente deben colocarse como /system/apex/com.android.apex.cts.shim.apex.

Si se usan apps precompiladas normales, CtsShim y CtsShimPriv para el la versión correspondiente se debe colocar como /system/app/CtsShimPrebuilt.apk y /system/priv-app/CtsShimPrivPrebuilt.apk respectivamente.

En la siguiente tabla, se indican las preinstalaciones y precargas disponibles para cada versión y arquitectura del dispositivo.

Versión de dispositivo Preinstala
(si es compatible con APEX)
Precargar
ARM x86 ARM x86
Android 14 android14-arm-release lanzamiento de android14-x86 android14-arm-CtsShim.apk

android14-arm-CtsShimPriv.apk

android14-x86-CtsShim.apk

android14-x86-CtsShimPriv.apk

Android 13 android13-arm-release versión-android13-x86 android13-arm-CtsShim.apk.

android13-arm-CtsShimPriv.apk

android13-x86-CtsShim.apk

android13-x86-CtsShimPriv.apk

Android 12 android12-arm-release lanzamiento de android12-x86 android12-arm-CtsShim.apk

android12-arm-CtsShimPriv.apk

android12-x86-CtsShim.apk

android12-x86-CtsShimPriv.apk

Android 11 android11-arm-release lanzamiento de android11-x86 android11-arm-CtsShim.apk

android11-arm-CtsShimPriv.apk

android11-x86-CtsShim.apk

android11-x86-CtsShimPriv.apk

Android 10 versión-android10 android10-arm-CtsShim.apk.

android10-arm-CtsShimPriv.apk

android10-x86-CtsShim.apk

android10-x86-CtsShimPriv.apk

Android 9, O y O-MR1 N/A N/A arm-CtsShim.apk

arm-CtsShimPriv.apk

x86-CtsShim.apk

x86-CtsShimPriv.apk

Para pasar las pruebas, precarga las apps en los directorios correspondientes de la del sistema sin volver a firmar las apps.

Applet de muestra

Android 9 presentó las APIs de Open Mobile. Para los dispositivos que informan más de un elemento CTS agrega casos de prueba para validar el comportamiento de Open Mobile APIs Estos casos de prueba requieren la instalación única de una applet de muestra en el Elemento seguro incorporado (eSE) del DUT o en la tarjeta SIM que usa el DUT El applet de muestra de eSE y las Applet de muestra de SIM en AOSP.

Consulta la Prueba de CTS para el Elemento seguro para información más detallada sobre los casos de prueba de la API de Open Mobile y la prueba de control de acceso diferentes.

Requisitos de almacenamiento

Las pruebas de esfuerzo de contenido multimedia del CTS requieren que los clips de video estén en un almacenamiento externo (/sdcard). La mayoría de los clips son de Big Buck Bunny, que está protegida por derechos de autor de la Fundación Smoother en virtud de la Licencia Creative Commons Attribution 3.0.

El espacio requerido depende de la resolución máxima de reproducción de video que admita el dispositivo. Consulta la sección 5 del Documento de definición de compatibilidad de Android para el plataforma de las resoluciones requeridas.

Estos son los requisitos de almacenamiento por resolución máxima de reproducción de video:

  • 480 x 360: 98 MB
  • 720 x 480: 193 MB
  • 1280 x 720: 606 MB
  • 1920 x 1080: 1863 MB

Pantalla y almacenamiento

  • Todos los dispositivos que no tengan una pantalla incorporada deben conectarse a un en la pantalla.
  • Si el dispositivo tiene una ranura para tarjeta de memoria, conecta una tarjeta SD vacía. Usa una tarjeta SD que admita el bus de velocidad ultraalta (UHS) con capacidad SDHC o SDXC, o una con al menos clase de velocidad 10 o superior para asegurarse de que puede pasar el CTS

  • Si el dispositivo tiene ranuras para tarjetas SIM, conecta una tarjeta SIM activada en cada ranura. Si el dispositivo admite SMS, cada tarjeta SIM debe tener su propio campo numérico. se complete. Para dispositivos que ejecutan Android 12 o Arriba, todas las tarjetas SIM deben admitir el almacenamiento de marcación abreviada nuevos (ADN). Tarjetas GSM y USIM con el archivo dedicado para telecomunicaciones (DFTelecom) cumplen con este requisito.

UICC para desarrolladores

Para ejecutar pruebas de la API del proveedor del CTS, el dispositivo debe usar una SIM con el proveedor del CTS privilegios que cumplan con los requisitos especificados en Preparar UICC.

Configuración de dispositivos Android

  1. Para restablecer la configuración de fábrica del dispositivo, ve a Configuración > Copia de seguridad y restablecer > Datos de fábrica restablecer.

  2. Configura el idioma del dispositivo en inglés (Estados Unidos): Configuración > Idioma y entrada > Idioma.

  3. Si el dispositivo admite la personalización de fuentes predeterminadas, definir la Familia de fuentes de sans-serif a Roboto (la familia de fuentes predeterminada de sans-serif) en compilaciones de AOSP).

  4. Activa la configuración de ubicación si hay una red móvil, Wi-Fi o GPS. en el dispositivo: Configuración > Ubicación > Activada.

  5. Conectarse a una red Wi-Fi que admita IPv6, puede tratar el DUT como una cliente aislado (consulta la sección Entorno físico más arriba) y tenga conexión a Internet: Configuración > Wi-Fi

  6. Asegúrate de que no se hayan configurado un patrón de bloqueo ni una contraseña en el dispositivo: Configuración > Seguridad > Bloqueo de pantalla > Ninguno

  7. Habilita la depuración por USB en tu dispositivo: Configuración > Opciones para desarrolladores > Depuración por USB

  8. Establecer la hora en el formato de 12 horas: Configuración > Fecha y tiempo > Usar las 24 horas formato > Desactivado.

  9. Establece el dispositivo para que permanezca activo: Configuración > Opciones para desarrolladores > Despierto toda la noche > Activada.

  10. En solo Android 5.x y 4.4.x, configura el dispositivo para permitir ubicaciones simuladas: Configuración > Opciones para desarrolladores > Permitir ubicaciones simuladas > Activada.

  11. En Android 4.2 o versiones posteriores, desactiva la verificación de apps por USB: Configuración > Opciones para desarrolladores > Verificar apps por USB > Desactivado.

  12. En Android 13 o versiones posteriores, configura el dispositivo para permitir un módem de prueba: Configuración > Opciones para desarrolladores > Permite el módem de prueba > Activada.

  13. Inicia el navegador y descarta la pantalla de inicio o configuración.

  14. Conecta la máquina de escritorio que se usará para probar el dispositivo con un USB por cable.

  15. Antes de ejecutar el CTS, configura Roboto2 como la fuente Sans Serif con un usuario la opción de prestación accesible (no oculta).

Instalación de archivos

Instala y configura apps de ayuda en el dispositivo.

  1. Configura tu dispositivo según la versión de CTS:

    • Versiones de CTS 2.1 R2 a 4.2 R4: Configura el dispositivo (o emulador) para ejecutar las pruebas de accesibilidad con lo siguiente: adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      En el dispositivo, habilita la delegación: Configuración > Accesibilidad > Accesibilidad > Delegación del servicio de accesibilidad

    • Versiones de CTS 6.x o anteriores: En dispositivos que declaran android.software.device_admin, configura tu dispositivo para que lo ejecute de administración con los siguientes comandos: adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`

      En Configuración > Seguridad > Seleccionar los administradores del dispositivo, habilita el dos dispositivos android.deviceadmin.cts.CtsDeviceAdminReceiver* de Google Workspace for Education. Asegúrate de que android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver y cualquier y otros administradores de dispositivos precargados permanecerán inhabilitados.

  2. Copia los archivos multimedia de CTS en el dispositivo de la siguiente manera:

    1. Navega (cd) a la ruta de acceso en la que se descargan los archivos multimedia descomprimido.
    2. Cambia los permisos de archivo: chmod u+x copy_media.sh

    3. Copia los archivos necesarios:

      • Para copiar clips de hasta 720 × 480, ejecuta lo siguiente:

        ./copy_media.sh 720x480
        
      • Si no sabes cuál es la resolución máxima, copia todos los archivos:

        ./copy_media.sh all
        
      • Si hay varios dispositivos en adb, agrega la opción de serie. (-s) de un dispositivo específico al final. Por ejemplo, para copiar hasta 720 x 480 al dispositivo con el número de serie 1234567; ejecuta:

        ./copy_media.sh 720x480 -s 1234567