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:
Para obtener el nivel de API de Android en el dispositivo, ejecuta lo siguiente:
adb shell getprop ro.build.version.sdk
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 entrue
,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-x86-CtsShim.apk |
Android 13 | android13-arm-release | versión-android13-x86 | android13-arm-CtsShim.apk. | android13-x86-CtsShim.apk |
Android 12 | android12-arm-release | lanzamiento de android12-x86 | android12-arm-CtsShim.apk | android12-x86-CtsShim.apk |
Android 11 | android11-arm-release | lanzamiento de android11-x86 | android11-arm-CtsShim.apk | android11-x86-CtsShim.apk |
Android 10 | versión-android10 | android10-arm-CtsShim.apk. | android10-x86-CtsShim.apk | |
Android 9, O y O-MR1 | N/A | N/A | arm-CtsShim.apk | x86-CtsShim.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
Para restablecer la configuración de fábrica del dispositivo, ve a Configuración > Copia de seguridad y restablecer > Datos de fábrica restablecer.
Configura el idioma del dispositivo en inglés (Estados Unidos): Configuración > Idioma y entrada > Idioma.
Si el dispositivo admite la personalización de fuentes predeterminadas, definir la Familia de fuentes de
sans-serif
aRoboto
(la familia de fuentes predeterminada desans-serif
) en compilaciones de AOSP).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.
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
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
Habilita la depuración por USB en tu dispositivo: Configuración > Opciones para desarrolladores > Depuración por USB
Establecer la hora en el formato de 12 horas: Configuración > Fecha y tiempo > Usar las 24 horas formato > Desactivado.
Establece el dispositivo para que permanezca activo: Configuración > Opciones para desarrolladores > Despierto toda la noche > Activada.
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.
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.
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.
Inicia el navegador y descarta la pantalla de inicio o configuración.
Conecta la máquina de escritorio que se usará para probar el dispositivo con un USB por cable.
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.
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 queandroid.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver
y cualquier y otros administradores de dispositivos precargados permanecerán inhabilitados.
Copia los archivos multimedia de CTS en el dispositivo de la siguiente manera:
- Navega (
cd
) a la ruta de acceso en la que se descargan los archivos multimedia descomprimido. Cambia los permisos de archivo:
chmod u+x copy_media.sh
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
- Navega (