Configurer CTS

Pour exécuter CTS, préparez d'abord votre environnement physique, votre ordinateur de bureau, puis l'appareil Android que vous utilisez pour le test.

Environnement physique

Balises Bluetooth LE

Si l'appareil testé est compatible avec la technologie Bluetooth LE, placez au moins Balises Bluetooth LE situées à moins de 5 mètres de l'appareil testé pour le scan Bluetooth LE Ces balises n'ont pas besoin d'être configurées ni émettent un élément spécifique. Elles peuvent être y compris les balises iBeacon, Eddystone ou encore les appareils simulant des balises BLE.

Bande ultralarge

Si l'appareil testé est compatible avec la bande ultralarge (UWB), un autre appareil prenant en charge l'UWB doivent être placés suffisamment près et orientés pour ne pas avoir des antennes et des zones mortes radio. Pour les tests de précision des distances, des besoins de positionnement et d'orientation spécifiques. Pour en savoir plus sur la configuration, consultez Configuration requise pour l'UWB Le test UWB doit être exécuté manuellement, en spécifiant dans la ligne de commande les deux appareils sont à un mètre l’un de l’autre. Pour en savoir plus sur la segmentation requise pour ce test, consultez Segmentation locale.

Caméras

Lorsque vous exécutez la fonctionnalité CTS de la caméra, utilisez des conditions d'éclairage normales avec un schéma de test. graphique (par exemple, un motif en damier). Placez le graphique des modèles de test en respectant la distance de mise au point minimale de l'appareil testé afin qu'il ne soit pas trop proche l'objectif.

Dirigez les capteurs de l'appareil photo vers une scène suffisamment éclairée pour laisser capteurs soumis aux tests pour atteindre le nombre maximal de frames cibles configurés par seconde (FPS), comme indiqué CONTROL_AE_TARGET_FPS_RANGE Cela s'applique à tous les capteurs photo signalés par getCameraIdList à mesure que le test est itératif sur les appareils répertoriés et mesure les performances individuellement.

Si l'appareil testé est compatible avec les caméras externes, telles que les webcams USB, branchez un caméra lors de l'exécution de CTS. Sinon, les tests CTS échouent.

GPS/GNSS

Si l'appareil testé est compatible avec le système de positionnement global/la navigation mondiale par satellite (GPS/GNSS), fournir un signal GPS/GNSS à l'appareil à une position le niveau du signal pour la réception et le calcul de la localisation GPS. La partie GPS doit être et conforme à la norme ICD-GPS-200C. Sinon, le signal GPS/GNSS peut être de n'importe quel type, y compris un simulateur de satellite ou un répéteur GPS/GNSS de signaux extérieurs ; vous pouvez placer l'appareil testé suffisamment près d'une fenêtre pour recevoir signal GPS/GNSS suffisant.

Wi-Fi et IPv6

Les tests CTS nécessitent un réseau Wi-Fi compatible avec IPv4 et IPv6, avec un DNS opérationnel pour IPv4 et IPv6, prend en charge le multicast IP et peut l'appareil testé comme un client isolé. Un client isolé est une configuration dans laquelle l'appareil une visibilité sur les messages diffus/multiréseaux sur ce sous-réseau. Ce avec la configuration d'un point d'accès Wi-Fi ou l'exécution de l'appareil un sous-réseau isolé sans que d’autres appareils ne soient connectés.

Si vous n'avez pas accès à un réseau IPv6 natif, à un réseau d'opérateur IPv6 ou VPN pour réussir certains tests en fonction de l'IPv6, vous pouvez utiliser un point d'accès Wi-Fi et via un tunnel IPv6.

Pour réussir le test CTS, les indicateurs UP, BROADCAST et MULTICAST doivent être définis sur l'appareil testé. l'interface Wi-Fi. Des adresses IPv4 et IPv6 doivent être attribuées à l'interface Wi-Fi. Vérifiez les propriétés de l'interface Wi-Fi avec adb shell ifconfig.

Pour les appareils compatibles avec Simultanéité STA/STA Wi-Fi plusieurs réseaux Wi-Fi (au moins 2) sont requis. Pour réussir CTS, le réseau Wi-Fi les réseaux doivent fonctionner sur des bandes différentes avec des SSID différents ou sur le le même SSID avec des BSSID différents.

DAR Wi-Fi

Android inclut le API Wi-Fi RTT pour le délai aller-retour Wi-Fi (DAR) de Google Cloud. Cela permet aux appareils de mesurer leur distance aux points d'accès avec une précision de 1 à 2 mètres, ce qui améliore considérablement la précision de la localisation en intérieur. Voici deux appareils recommandés compatibles avec le DAR Wi-Fi : Google Wifi et Point d'accès "fitlet2" de Compulab (définie sur une bande passante de 40 MHz à 5 GHz).

Les points d'accès doivent être sous tension, mais ne nécessitent pas de connexion réseau. Les points d'accès n'ont pas besoin d'être à côté de l'appareil de test, mais sont recommandés se trouver à moins de 12 mètres de l'appareil testé. Un point d'accès suffit généralement.

Configuration de l'ordinateur de bureau

Attention: CTS est compatible avec les machines Linux 64 bits. CTS n'est pas compatible avec l'OS Windows ou macOS.

FMPEG

Installez le package ffmpeg version 5.1.3 (ou ultérieure) sur la machine hôte.

Mise à niveau de la machine hôte

Nous vous recommandons vivement de mettre à niveau la RAM de la machine hôte CTS à 128 Go et le disque dur à 256 Go. Elle est nécessaire pour prendre en charge l'augmentation du nombre de scénarios de test CTS et de la réservation d'espace de tas de mémoire Java dans les données échangées.

ADB et AAPT2

Avant d'exécuter CTS, assurez-vous d'avoir installé les versions récentes de les deux Android Debug Bridge (adb) et Android Asset Packaging Tool (AAPT2) et ajouté l’emplacement de ces outils au chemin d’accès système de votre machine.

Pour installer ADB et AAPT2, téléchargez la dernière version Android SDK Platform Tools et Android SDK Build Tools depuis l'application Android Studio SDK Manager ou à partir de sdkmanager l'outil de ligne de commande.

Assurez-vous que adb et aapt2 se trouvent dans votre chemin d'accès système. La commande suivante suppose que vous avez téléchargé les archives du package dans un sous-répertoire appelé android-sdk dans votre répertoire d'accueil:

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

Java Development Kit pour Ubuntu

Installez la bonne version de Java Development Kit (JDK)

  • Pour Android 11, installez OpenJDK11.
  • Pour Android 9 et Android 10, installez OpenJDK9.
  • Pour Android 7.0, 7.1, 8.0 et 8.1, installez OpenJDK8.

Pour en savoir plus, consultez les exigences concernant le JDK.

Configuration pour la compatibilité avec Python

Installez virtualenv pour votre plate-forme en suivant le Installation instructions.

Vous pouvez vérifier que l'installation a réussi en appelant virtualenv -h.

Fichiers CTS

Téléchargez et ouvrez les packages CTS depuis Téléchargements de la suite de tests de compatibilité correspondant à vos appareils Version d'Android et toutes les interfaces binaires de l'application compatibles avec vos appareils.

Téléchargez et ouvrez la dernière version de Fichiers multimédias CTS

Télécharger les fichiers CTS liés à Mainline (facultatif)

Lorsque vous exécutez une version CTS pour la première fois, CTS télécharge de manière dynamique certaines les fichiers CTS liés à la ligne principale, ce qui ajoute au moins 10 minutes à la durée d'exécution ; en fonction du débit de votre réseau.

Pour éviter cette exécution CTS supplémentaire, vous pouvez télécharger l'outil CTS associé à Mainline. avant d'exécuter la version CTS, en suivant les instructions ci-dessous:

  1. Obtenez le niveau d'API Android sur l'appareil en exécutant la commande suivante:

    adb shell getprop ro.build.version.sdk
    
  2. Suivez les instructions du script download_mcts.sh. pour télécharger les fichiers Mainline CTS.

    Le téléchargement prend au moins 10 minutes, selon le débit de votre réseau.

Détection des appareils

Suivez les instructions pour configurer votre système pour qu'il détecte votre appareil.

Limite de mémoire

Vous pouvez augmenter la mémoire maximale disponible lors de l'exécution du test dans le cts-tradefed script. Consultez l'exemple de CL. pour en savoir plus.

Configuration des appareils Android

Builds utilisateur

Un appareil compatible est défini comme un appareil avec une version signée par un utilisateur ou une clé de version. Votre appareil doit exécuter une image système basée sur la compatibilité connue (Android 4.0 ou version ultérieure) à partir de Noms de code, tags et numéros de construction.

Propriété de compilation du premier niveau d'API

Certaines exigences CTS dépendent de la version d'origine de l'appareil expédiés. Par exemple, les appareils initialement livrés avec des versions antérieures peut être exclu de la configuration système requise pour les appareils livrés avec les compilations suivantes.

Pour rendre ces informations accessibles à CTS, les fabricants d'appareils pourraient avoir défini la propriété ro.product.first_api_level au moment de la compilation. La valeur de ce paramètre est le premier niveau d'API avec lequel l'appareil a été lancé sur le marché.

Les fabricants d'appareils peuvent réutiliser l'implémentation sous-jacente commune lancer un nouveau produit en tant que mise à niveau d'un produit existant sur le même appareil groupe. Les fabricants d'appareils peuvent éventuellement définir le niveau d'API du produit vers ro.product.first_api_level, de sorte que les conditions de mise à niveau soient appliquée pour CTS et Treble/VTS.

Les fabricants d'appareils peuvent définir PRODUCT_SHIPPING_API_LEVEL dans leurs device.mk pour définir cette propriété, comme illustré dans l'exemple suivant:

# 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

Premier niveau d'API pour Android 9 ou version ultérieure

Pour les appareils équipés d'Android 9 ou version ultérieure, définissez le paramètre ro.product.first_api_level à une valeur valide de Noms de code, tags et numéros de construction.

Premier niveau d'API pour Android 8.x ou version antérieure

Pour les appareils lancés sous Android 8.x ou version antérieure, désactivez (supprimez) la ro.product.first_api_level pour la première compilation du produit. Pour toutes les compilations suivantes, définissez ro.product.first_api_level sur le niveau d'API approprié ; . Cela permet à la propriété d'identifier correctement un nouveau produit conserve les informations sur le premier niveau d'API du produit. Si l'indicateur est n'est pas définie, Android attribue Build.VERSION.SDK_INT à ro.product.first_api_level.

Paquets de shims CTS

Android 10 ou version ultérieure inclut un format de package appelé APEX. Exécuter des tests CTS pour la gestion des apex API (mise à jour vers une nouvelle version ou création de rapports sur les apex actifs, par exemple) vous devez préinstaller un package CtsShimApex sur une partition /system.

Le test de validation du correctif APEX vérifie l'implémentation de CtsShimApex.

Conditions requises pour ro.apex.updatable

  • Si la propriété ro.apex.updatable est définie sur true, CtsShimApex est requise pour tous les appareils compatibles avec la gestion des packages APEX.

  • Si la propriété ro.apex.updatable est manquante ou n'est pas définie, CtsShimApex n'a pas besoin d'être préinstallé sur un appareil.

Le test de validation du correctif APEX vérifie l'implémentation de CtsShimApex.

Préinstallations et préchargements de CtsShim

À partir d'Android 11, CtsShimApex contient deux des applications prédéfinies (créées à partir de source de compilation), qui ne contiennent aucun code à l'exception du fichier manifeste. CTS utilise ces applications pour pour tester les droits et les autorisations.

Si l'appareil n'est pas compatible avec la gestion des packages APEX (c'est-à-dire la propriété ro.apex.updatable est manquante ou n'est pas définie), ou si l'appareil est version 10 ou antérieure, les deux applications prédéfinies doivent soit préinstallée séparément dans le système.

Si APEX est compatible, les préinstallations de la version appropriée doivent être placées en tant que /system/apex/com.android.apex.cts.shim.apex.

Si vous utilisez des applications prédéfinies standards, CtsShim et CtsShimPriv pour la version appropriée doit être placée en tant que /system/app/CtsShimPrebuilt.apk et /system/priv-app/CtsShimPrivPrebuilt.apk respectivement.

Le tableau suivant répertorie les préinstallations et les préchargements disponibles pour chaque la version et l'architecture des appareils.

Version de l'appareil Préinstaller
(si APEX est compatible)
Précharger
ARM x86 ARM x86
Android 14 <ph type="x-smartling-placeholder"></ph> android14-arm-release <ph type="x-smartling-placeholder"></ph> Android14-x86-release <ph type="x-smartling-placeholder"></ph> Android14-arm-CtsShim.apk

<ph type="x-smartling-placeholder"></ph> android14-arm-CtsShimPriv.apk

<ph type="x-smartling-placeholder"></ph> android14-x86-CtsShim.apk

<ph type="x-smartling-placeholder"></ph> android14-x86-CtsShimPriv.apk

Android 13 <ph type="x-smartling-placeholder"></ph> android13-arm-release <ph type="x-smartling-placeholder"></ph> Android13-x86-release <ph type="x-smartling-placeholder"></ph> android13-arm-CtsShim.apk

<ph type="x-smartling-placeholder"></ph> android13-arm-CtsShimPriv.apk

<ph type="x-smartling-placeholder"></ph> android13-x86-CtsShim.apk

<ph type="x-smartling-placeholder"></ph> android13-x86-CtsShimPriv.apk

Android 12 <ph type="x-smartling-placeholder"></ph> android12-arm-release <ph type="x-smartling-placeholder"></ph> Android12-x86-release <ph type="x-smartling-placeholder"></ph> android12-arm-CtsShim.apk.

<ph type="x-smartling-placeholder"></ph> android12-arm-CtsShimPriv.apk

<ph type="x-smartling-placeholder"></ph> android12-x86-CtsShim.apk

<ph type="x-smartling-placeholder"></ph> android12-x86-CtsShimPriv.apk

Android 11 <ph type="x-smartling-placeholder"></ph> android11-arm-release <ph type="x-smartling-placeholder"></ph> Android11-x86-release <ph type="x-smartling-placeholder"></ph> android11-arm-CtsShim.apk

<ph type="x-smartling-placeholder"></ph> android11-arm-CtsShimPriv.apk

<ph type="x-smartling-placeholder"></ph> android11-x86-CtsShim.apk

<ph type="x-smartling-placeholder"></ph> android11-x86-CtsShimPriv.apk

Android 10 <ph type="x-smartling-placeholder"></ph> version-android10 <ph type="x-smartling-placeholder"></ph> android10-arm-CtsShim.apk

<ph type="x-smartling-placeholder"></ph> android10-arm-CtsShimPriv.apk

<ph type="x-smartling-placeholder"></ph> android10-x86-CtsShim.apk

<ph type="x-smartling-placeholder"></ph> android10-x86-CtsShimPriv.apk

Android 9, O et O-MR1 N/A N/A <ph type="x-smartling-placeholder"></ph> bras-CtsShim.apk

<ph type="x-smartling-placeholder"></ph> bras-CtsShimPriv.apk

<ph type="x-smartling-placeholder"></ph> x86-CtsShim.apk.

<ph type="x-smartling-placeholder"></ph> x86-CtsShimPriv.apk.

Pour réussir les tests, préchargez les applications dans les répertoires appropriés sur le l'image système sans signer à nouveau les applications.

Exemple d'applet

Android 9 a introduit les API Open Mobile. Pour les appareils qui signalent plusieurs un composant sécurisé, CTS ajoute des scénarios de test pour valider le comportement de l'Open Mobile API. Ces scénarios de test nécessitent l'installation unique d'un exemple d'applet dans l'élément sécurisé intégré (eSE) de l'appareil testé ou dans la carte SIM utilisée par l'appareil Appareil non testé. La Exemple d'applet eSE et Exemple d'applet SIM se trouvent dans AOSP.

Consultez la page Test CTS du composant sécurisé pour découvrir des informations plus détaillées sur les scénarios de test de l'API Open Mobile et sur le test du contrôle des accès cas d'utilisation.

Exigences de stockage

Les tests de contrainte sur les médias CTS nécessitent que les extraits vidéo soient stockés sur un espace de stockage externe (/sdcard). La plupart des extraits proviennent Big Buck Bunny, protégé par des droits d'auteur par la Blender Foundation Licence Creative Commons Attribution 3.0.

L'espace requis dépend de la résolution de lecture vidéo maximale prise en charge par l'appareil. Consultez la section 5 Document de définition de compatibilité Android pour les la version de la plate-forme des résolutions requises.

Voici les exigences de stockage en fonction de la résolution maximale de lecture des vidéos:

  • 480 x 360: 98 Mo
  • 720 x 480: 193 Mo
  • 1 280 x 720: 606 Mo
  • 1 920 x 1 080: 1 863 Mo

Écran et stockage

  • Tout appareil sans écran intégré doit être connecté à un l'écran.
  • Si l'appareil dispose d'un emplacement pour carte mémoire, branchez une carte SD vide. Utiliser une carte SD qui prend en charge les bus ultra-haute vitesse (UHS) avec une capacité SDHC ou SDXC ou une classe d'au moins 10 ou supérieure, pour s'assurer qu'elle peut circuler CTS.

  • Si l'appareil dispose d'emplacements pour carte SIM, branchez une carte SIM activée dans chacun d'eux. Si l'appareil prend en charge les SMS, chaque carte SIM doit avoir son propre champ de numéro renseignés. Pour les appareils équipés d'Android 12 ou plus élevée, toutes les cartes SIM doivent être compatibles avec le stockage des abréviations (ADN). Cartes GSM et USIM avec le fichier dédié aux télécommunications (DFTelecom) répondent à cette exigence.

UICC pour les développeurs

Pour effectuer des tests de l'API d'opérateur CTS, l'appareil doit utiliser une carte SIM de l'opérateur CTS les droits répondant aux exigences spécifiées dans Préparer l'UICC

Configuration des appareils Android

  1. Pour rétablir la configuration d'usine de l'appareil, appuyez sur Paramètres > Sauvegarde et réinitialiser > Données d'usine réinitialisés.

  2. Définissez la langue de votre appareil sur Français (France): Paramètres > Langue et entrée > Langue.

  3. Si l'appareil prend en charge la personnalisation des polices par défaut, définissez les polices par défaut La famille de polices sans-serif devient Roboto (la famille de polices par défaut sans-serif) utilisées dans les builds AOSP).

  4. Activer le paramètre de localisation en présence d'un GPS ou d'un réseau Wi-Fi/mobile sur l'appareil: Paramètres > Lieu > Activées.

  5. Connectez-vous à un réseau Wi-Fi compatible avec le protocole IPv6. L'appareil testé peut être considéré client isolé (voir Environnement physique ci-dessus) et dispose d'une connexion Internet: Paramètres > Wi-Fi.

  6. Assurez-vous qu'aucun schéma de verrouillage ni mot de passe n'est défini sur l'appareil: Paramètres > Sécurité > Verrouillage de l'écran > Aucun

  7. Activez Débogage USB sur votre appareil: Paramètres > Options pour les développeurs > Débogage USB.

  8. Définissez l'heure au format 12 heures: Paramètres > Date et durée > Utiliser 24 heures format > Désactivée.

  9. Configurer l'appareil pour qu'il reste activé: Paramètres > Options pour les développeurs > Rester éveillé > Activées.

  10. Sous Android 5.x et 4.4.x uniquement, configurez l'appareil de manière à autoriser les positions fictives: Paramètres > Options pour les développeurs > Autoriser les positions fictives > Activées.

  11. Sur Android 4.2 ou version ultérieure, désactivez la validation des applications USB: Paramètres > Options pour les développeurs > Vérifier les applications via USB > Désactivée.

  12. Sous Android 13 ou version ultérieure, configurez l'appareil de manière à autoriser le modem fictif: Paramètres > Options pour les développeurs > Autoriser le modem fictif > Activées.

  13. Lancez le navigateur et fermez tous les écrans de démarrage/configuration.

  14. Connectez la machine de bureau qui sera utilisée pour tester l'appareil avec un câble USB câble.

  15. Avant d'exécuter CTS, définissez Roboto2 comme police sans-serif à l'aide d'un utilisateur paramètre d'accessibilité (non masqué) d'accessibilité.

Installation de fichiers

Installer et configurer des applications d'assistance sur l'appareil

  1. Configurez votre appareil en fonction de votre version CTS:

    • Versions CTS 2.1 R2 à 4.2 R4:configurez votre appareil (ou l'émulateur). pour exécuter les tests d'accessibilité: adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      Sur l'appareil, activez la délégation: Paramètres > Accessibilité > Accessibilité > Délégation des services d'accessibilité

    • CTS 6.x ou version antérieure:sur les appareils déclarant android.software.device_admin, configurez votre appareil pour qu'il l'exécute à l'aide de: adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`

      Dans Paramètres > Sécurité > Sélectionner les administrateurs de l'appareil, activez le deux appareils android.deviceadmin.cts.CtsDeviceAdminReceiver* les administrateurs. Vérifiez que android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver et toutes les autres les autres administrateurs d'appareils préchargés restent désactivés.

  2. Copiez les fichiers multimédias CTS sur l'appareil comme suit:

    1. Accédez (cd) au chemin d'accès aux fichiers multimédias. décompressé.
    2. Modifiez les autorisations du fichier: chmod u+x copy_media.sh

    3. Copiez les fichiers nécessaires:

      • Pour copier des extraits jusqu'à une résolution de 720 x 480, exécutez la commande suivante:

        ./copy_media.sh 720x480
        
      • Si vous n'êtes pas sûr de la résolution maximale, copiez tous les fichiers:

        ./copy_media.sh all
        
      • S'il y a plusieurs appareils sous adb, ajoutez l'option de série (-s) d'un appareil spécifique. Par exemple, pour copier jusqu'à 720 x 480 à l'appareil portant la série 1234567, exécutez la commande suivante:

        ./copy_media.sh 720x480 -s 1234567