Mise en place du CTS

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

Environnement physique

Balises Bluetooth LE

Si l'appareil testé (DUT) prend en charge Bluetooth LE, placez au moins trois balises Bluetooth LE à moins de 5 mètres du DUT pour le test de balayage Bluetooth LE. Ces balises n'ont pas besoin d'être configurées ou d'émettre quoi que ce soit de spécifique, et peuvent être de n'importe quel type, y compris iBeacon, Eddystone ou même des appareils simulant des balises BLE.

Appareils photo

Lors de l'exécution de la caméra CTS, utilisez des conditions d'éclairage normales avec une mire de test (comme un motif en damier). Placez la mire de test en fonction de la distance minimale de mise au point du DUT pour vous assurer qu'elle n'est pas trop proche de l'objectif.

Pointer les capteurs de la caméra sur une scène avec un éclairage suffisant pour permettre aux capteurs à tester pour atteindre et rester à des trames de cibles maximum configuré par seconde (fps) tel que spécifié dans CONTROL_AE_TARGET_FPS_RANGE . Cela vaut pour tous les capteurs de caméra rapportés par getCameraIdList comme les itère de test sur les dispositifs énumérés et la performance des mesures individuellement.

Si le DUT prend en charge les caméras externes, telles que les webcams USB, branchez une caméra externe lors de l'exécution de CTS. Sinon, les tests CTS échouent.

GPS/GNSS

Si le DUT prend en charge la fonction de système de positionnement global/système mondial de navigation par satellite (GPS/GNSS), fournissez un signal GPS/GNSS au DUT à un niveau de signal approprié pour la réception et le calcul de localisation GPS. La partie GPS doit être conforme à l'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, ou vous pouvez placer le DUT suffisamment près d'une fenêtre pour qu'il puisse recevoir directement suffisamment de signal GPS/GNSS.

Wi-Fi et IPv6

Les tests CTS nécessitent un réseau Wi-Fi prenant en charge IPv6, disposant d'une connexion Internet et pouvant traiter le DUT comme un client isolé. Un client isolé fait référence à une configuration dans laquelle le DUT n'a pas de visibilité sur les messages de diffusion/multiréseau sur ce sous-réseau. Cela se produit avec une configuration de point d'accès Wi-Fi ou en exécutant le DUT sur un sous-réseau isolé sans que d'autres périphériques ne soient connectés.

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

RTT Wi-Fi

Android comprend l' API RTT Wi-Fi pour un temps aller - retour (RTT) Wi-Fi capacité. Cela permet aux appareils de mesurer leur distance aux points d'accès avec une précision de 1 à 2 mètres, augmentant considérablement la précision de localisation à l'intérieur. Deux dispositifs de soutien recommandés Wi-Fi RTT Google Wifi et point d'accès fitlet2 de Compulab (jeu à 40 MHz de bande passante à 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 il est recommandé de se trouver à moins de 40 pieds du DUT. Un point d'accès est généralement suffisant.

Configuration de la machine de bureau

BAD et AAPT

Avant de lancer le CTS, assurez -vous que vous avez installé les versions récentes des deux Android Debug Bridge (adb) et Android actifs Emballage Tool (AAPT) et a ajouté l'emplacement de ces outils pour le chemin du système de votre machine.

Pour installer la BAD, télécharger le SDK Android Tools package pour votre système d'exploitation, ouvrez - le et suivez les instructions du fichier README inclus. Pour des informations de dépannage, consultez Installation du SDK Autonomes Tools .

Assurez -vous que adb et aapt sont dans votre chemin système. La commande suivante suppose que vous avez ouvert l'archive du package dans votre répertoire personnel :

export PATH=$PATH:$HOME/android-sdk-linux/build-tools/version

Kit de développement Java pour Ubuntu

Installez la version appropriée 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 plus de détails, voir les exigences JDK .

Fichiers CTS

Téléchargez et ouvrez les paquets CTS de test de compatibilité Suite Téléchargements correspondant à la version Android de vos périphériques et toutes les applications interfaces binaires (ABIS) que vos appareils prennent en charge.

Téléchargez et ouvrez la dernière version des fichiers multimédias CTS .

Détection de périphérique

Suivez l'étape pour configurer votre système pour détecter votre appareil .

Limite de mémoire

Vous pouvez augmenter la mémoire maximale disponible pendant le test dans le EVC-tradfed script. Reportez - vous à exemple CL pour plus d' informations.

Configuration de l'appareil Android

Constructions de l'utilisateur

Un appareil compatible est défini comme un appareil avec une version signée par l'utilisateur/la clé de version. Votre appareil doit être en cours d' exécution d' une image système sur la base connu pour être construit utilisateur compatible (Android 4.0 ou supérieur) de Codenames, Tags et numéros de build .

Propriété de build de premier niveau d'API

Certaines exigences CTS dépendent de la version avec laquelle un appareil a été livré à l'origine. Par exemple, les appareils livrés à l'origine avec des versions antérieures peuvent être exclus de la configuration système requise qui s'applique aux appareils livrés avec des versions ultérieures.

Pour rendre cette information disponible pour CTS, les fabricants d'appareils aurait pu définir la propriété accumulation du temps ro.product.first_api_level . La valeur de cette propriété est le premier niveau d'API avec lequel l'appareil a été lancé commercialement.

Les fabricants d'appareils peuvent réutiliser l'implémentation sous-jacente commune pour lancer un nouveau produit en tant que mise à niveau d'un produit existant dans le même groupe d'appareils. Les fabricants d'appareils peuvent également définir le niveau de l' API du produit existant ro.product.first_api_level afin que les exigences de mise à niveau sont appliquées pour CTS et Treble / VTS.

Les fabricants d'appareils peuvent ajouter PRODUCT_PROPERTY_OVERRIDES dans leur device.mk fichier pour définir cette propriété, comme le montre l'exemple suivant:

#ro.product.first_api_level indicates the first api level that the device has
been commercially launched on.
PRODUCT_PROPERTY_OVERRIDES +=\
ro.product.first_api_level=21

Premier niveau d'API pour Android 9 ou supérieur

Pour les appareils avec Android lancés 9 ou supérieur, définissez la ro.product.first_api_level propriété à une valeur valide de Codenames, Tags et numéros de build .

Premier niveau d'API pour Android 8.x ou inférieur

Pour les appareils lancés sur Android 8.x ou moins, unset (supprimer) la ro.product.first_api_level propriété pour la première construction du produit. Pour tous les générations suivantes, ensemble ro.product.first_api_level à la valeur de niveau de l' API correcte. Cela permet à la propriété d'identifier correctement un nouveau produit et de conserver les informations sur le premier niveau d'API du produit. Si le drapeau est unset, Android attribue Build.VERSION.SDK_INT à ro.product.first_api_level .

Paquets de cales CTS

Android 10 ou supérieur comprend un format de package appelé APEX . Pour exécuter des tests CTS pour les API de gestion APEX (telles que la mise à jour vers une nouvelle version ou de rapports actifs faîtières) , vous devez préinstaller un CtsShimApex package sur un /system partition.

Le test de validation de l' APEX vérifie la mise en œuvre de CtsShimApex .

ro.apex.updatable exigences

  • Si la ro.apex.updatable propriété est définie sur true , CtsShimApex est nécessaire pour tous les appareils qui prennent en charge la gestion des paquets APEX.

  • Si la ro.apex.updatable propriété est manquante ou non définie, CtsShimApex ne doit être pré - installé sur un périphérique.

Le test de validation de l' APEX vérifie la mise en œuvre de CtsShimApex .

CtsShim Préinstalle et précontraintes

A partir de Android 11, CtsShimApex contient deux applications préconfigurés (construites à partir de la source de construction ), qui ne contiennent pas de code , sauf pour le manifeste. CTS utilise ces applications pour tester les privilèges et les autorisations.

Si l'appareil ne prend pas en charge la gestion des paquets APEX (qui est, la ro.apex.updatable propriété est manquante ou non défini), ou si l'appareil exécute la version 10 ou moins, les deux applications doivent être pré - installés préconstruits dans la système séparément.

Version de l'appareil Préinstaller
(si APEX est pris en charge)
Précharger
BRAS x86 BRAS x86
Android 12 android12-bras-libération
sous /system/apex/com.android.apex.cts.shim.apex
version android12-x86
sous /system/apex/com.android.apex.cts.shim.apex
android12-bras-CtsShim.apk
sous /system/app/CtsShimPrebuilt.apk

android12-bras-CtsShimPriv.apk
sous /system/priv-app/CtsShimPrivPrebuilt.apk

android12-x86-CtsShim.apk
sous /system/app/CtsShimPrebuilt.apk

android12-x86-CtsShimPriv.apk
sous /system/priv-app/CtsShimPrivPrebuilt.apk

Android 11 android11-bras-libération
sous /system/apex/com.android.apex.cts.shim.apex
android11-x86-release
sous /system/apex/com.android.apex.cts.shim.apex
android11-bras-CtsShim.apk
sous /system/app/CtsShimPrebuilt.apk

android11-bras-CtsShimPriv.apk
sous /system/priv-app/CtsShimPrivPrebuilt.apk

android11-x86-CtsShim.apk
sous /system/app/CtsShimPrebuilt.apk

android11-x86-CtsShimPriv.apk
sous /system/priv-app/CtsShimPrivPrebuilt.apk

Android 10 version android10
sous /system/apex/com.android.apex.cts.shim.apex
android10-bras-CtsShim.apk
sous /system/app/CtsShimPrebuilt.apk

android10-bras-CtsShimPriv.apk
sous /system/priv-app/CtsShimPrivPrebuilt.apk

android10-x86-CtsShim.apk
sous /system/app/CtsShimPrebuilt.apk

android10-x86-CtsShimPriv.apk
sous /system/priv-app/CtsShimPrivPrebuilt.apk

Android 9, O et O-MR1 N / A N / A arm-CtsShim.apk
sous /system/app/CtsShimPrebuilt.apk

arm-CtsShimPriv.apk
sous /system/priv-app/CtsShimPrivPrebuilt.apk

x86-CtsShim.apk
sous /system/app/CtsShimPrebuilt.apk

x86-CtsShimPriv.apk
sous /system/priv-app/CtsShimPrivPrebuilt.apk

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

Exemple d'applet

Android 9 a introduit les API Open Mobile. Pour les appareils qui signalent plusieurs éléments sécurisés, CTS ajoute des cas de test pour valider le comportement des API Open Mobile. Ces cas de test nécessitent l'installation unique d'un exemple d'applet dans l'élément sécurisé intégré (eSE) du DUT ou dans la carte SIM utilisée par le DUT. L' applet exemple ese et l' applet SIM échantillon se trouvent dans PSBA.

Voir test CTS pour Secure Element pour des informations plus détaillées sur les cas de test Open API Mobile et des cas de test de contrôle.

Exigences de stockage

Les stress tests médias CTS exigent des clips vidéo pour être sur le stockage externe ( /sdcard ). La plupart des clips sont de Big Buck Bunny , qui est protégé par copyright par la Fondation Blender sous la 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. Voir la section 5 du document Définition de compatibilité Android pour la version plate - forme des résolutions nécessaires.

Voici les exigences de stockage par résolution de lecture vidéo maximale :

  • 480 x 360 : 98 Mo
  • 720x480 : 193 Mo
  • 1280x720 : 606 Mo
  • 1920x1080 : 1863 Mo

Écran et rangement

  • Tout appareil qui n'a pas d'écran intégré doit être connecté à un écran.
  • Si l'appareil dispose d'un emplacement pour carte mémoire, branchez une carte SD vide. Utilisez une carte SD qui prend en charge le bus ultra haute vitesse (UHS) avec une capacité SDHC ou SDXC ou une carte avec au moins une classe de vitesse 10 ou supérieure pour garantir qu'elle peut passer le CTS.

  • Si l'appareil dispose d'emplacements pour carte SIM, insérez une carte SIM activée dans chaque emplacement. Si l'appareil prend en charge les SMS, chaque carte SIM doit avoir son propre champ de numéro rempli. Pour les appareils fonctionnant sous Android 12 ou supérieur, toutes les cartes SIM doivent prendre en charge le stockage des numéros abrégés (ADN). GSM et de cartes USIM avec le fichier dédié des télécommunications (DF Telecom) satisfont à cette exigence.

Développeur UICC

Pour exécuter des tests API porteuse CTS, l'appareil a besoin d'utiliser une carte SIM avec des privilèges de transporteur CTS répondant aux exigences spécifiées dans la préparation du UICC .

Configuration de l'appareil Android

  1. Réinit l'appareil: Paramètres> Sauvegarde et réinitialisation> réinitialisation des données d' usine.

  2. Définir la langue de votre appareil à l' anglais (États-Unis): Paramètres> Langue et saisie> Langue.

  3. Si les supports de périphériques personnalisation des polices par défaut, définissez la valeur par défaut sans-serif famille de polices à Roboto (par défaut sans-serif famille de polices utilisées dans les versions PSBA).

  4. Allumez le réglage de l' emplacement s'il y a un GPS ou Wi-Fi / fonction réseau cellulaire sur le périphérique: Paramètres> Lieu> Activé.

  5. Se connecter à un réseau Wi-Fi qui prend en charge IPv6, peut traiter le client comme un sous test isolé (voir environnement physique ci - dessus), et dispose d' une connexion Internet: Paramètres> Wi-Fi.

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

  7. Activer le débogage USB sur votre appareil: Paramètres> Options du développeur> débogage USB.

  8. Réglez l'heure au format 12 heures: Réglages> Date et heure> Utiliser le format 24 heures> Off.

  9. Réglez l'appareil pour rester éveillé: Paramètres> Options du développeur> Stay Awake> Activé.

  10. Dans Android 5.x et 4.4.x, définissez le dispositif pour permettre les positions fictives: Paramètres> Options pour les développeurs> Autoriser les positions fictives> Sur.

  11. Dans Android 4.2 ou supérieur, désactivez la vérification de l' application USB: Paramètres> Options du développeur> Vérifier les applications sur USB> Off.

  12. Lancez le navigateur et fermez tout écran de démarrage/configuration.

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

Installation de fichiers

Installez et configurez des applications d'assistance sur l'appareil.

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

    • CTS versions 2.1 R2 par R4 4.2: Configurer votre appareil (ou émulateur) pour exécuter les tests d'accessibilité avec: abd install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      Sur l'appareil, la délégation enable: Paramètres> Accessibilité> Accessibilité> Déléguer Accessibilité des services.

    • CTS versions 6.x ou inférieur: Sur les appareils qui déclarent android.software.device_admin , configurer votre appareil pour exécuter le test d'administration de l' appareil en utilisant: adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`

      Dans Paramètres> Sécurité> Sélectionnez les administrateurs de périphériques, activez les deux android.deviceadmin.cts.CtsDeviceAdminReceiver* administrateurs de périphériques. Assurez -vous que android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver et tous les autres administrateurs de périphériques pré - chargées restent désactivées.

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

    1. Naviguer ( cd ) sur le chemin où les fichiers multimédias sont téléchargés et décompressés.
    2. Modifiez les autorisations de fichier: chmod u+x copy_media.sh

    3. Copiez les fichiers nécessaires :

      • Pour copier des clips jusqu'à une résolution de 720x480, exécutez :

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

        ./copy_media.sh all
        
      • Si plusieurs périphériques sous adb, ajoutez l'option série ( -s ) d'un dispositif spécifique à la fin. Par exemple, pour copier jusqu'à 720 x 480 sur l'appareil avec le numéro de série 1234567, exécutez :

        ./copy_media.sh 720x480 -s 1234567