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:
Obtenez le niveau d'API Android sur l'appareil en exécutant la commande suivante:
adb shell getprop ro.build.version.sdk
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 surtrue
,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
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.
Définissez la langue de votre appareil sur Français (France): Paramètres > Langue et entrée > Langue.
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
devientRoboto
(la famille de polices par défautsans-serif
) utilisées dans les builds AOSP).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.
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.
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
Activez Débogage USB sur votre appareil: Paramètres > Options pour les développeurs > Débogage USB.
Définissez l'heure au format 12 heures: Paramètres > Date et durée > Utiliser 24 heures format > Désactivée.
Configurer l'appareil pour qu'il reste activé: Paramètres > Options pour les développeurs > Rester éveillé > Activées.
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.
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.
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.
Lancez le navigateur et fermez tous les écrans de démarrage/configuration.
Connectez la machine de bureau qui sera utilisée pour tester l'appareil avec un câble USB câble.
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
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 queandroid.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver
et toutes les autres les autres administrateurs d'appareils préchargés restent désactivés.
Copiez les fichiers multimédias CTS sur l'appareil comme suit:
- Accédez (
cd
) au chemin d'accès aux fichiers multimédias. décompressé. Modifiez les autorisations du fichier:
chmod u+x copy_media.sh
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
- Accédez (