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 sous test (DUT) prend en charge Bluetooth LE, placez au moins trois balises Bluetooth LE à moins de 5 mètres du DUT pour les tests de balayage Bluetooth LE. Ces balises n'ont pas besoin d'être configurées ni 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 un tableau de mire de test (comme un motif en damier). Placez le diagramme de mire en fonction de la distance de mise au point minimale du DUT pour vous assurer qu'il n'est pas trop près de l'objectif.

Dirigez les capteurs de la caméra vers une scène suffisamment éclairée pour permettre aux capteurs testés d'atteindre et de rester au nombre maximal d'images par seconde (FPS) configurées comme spécifié dans CONTROL_AE_TARGET_FPS_RANGE . Cela s'applique à tous les capteurs de caméra signalés par getCameraIdList lorsque le test itère sur les appareils répertoriés et mesure les performances 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 la position GPS. La partie GPS doit être 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, 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 qui prend en charge IPv6, dispose d'une connexion Internet et peut 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 Wi-Fi AP ou en exécutant le DUT sur 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 de transporteur IPv6 ou à un VPN pour passer certains tests en fonction d'IPv6, vous pouvez utiliser un point d'accès Wi-Fi et un tunnel IPv6. Consultez la liste des courtiers de tunnels IPv6 de Wikipedia.

RTT Wi-Fi

Android inclut l' API Wi-Fi RTT pour une capacité Wi-Fi aller-retour (RTT) . Cela permet aux appareils de mesurer leur distance aux points d'accès avec une précision de 1 à 2 mètres, ce qui augmente considérablement la précision de la localisation intérieure. Deux appareils recommandés prenant en charge le Wi-Fi RTT sont Google Wifi et le point d'accès fitlet2 de Compulab (réglé 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 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 d'exécuter le CTS, assurez-vous d'avoir installé les versions récentes d' Android Debug Bridge (adb) et d' Android Asset Packaging Tool (AAPT) et d'avoir ajouté l'emplacement de ces outils au chemin système de votre machine.

Pour installer ADB, téléchargez le package Android SDK Tools pour votre système d'exploitation, ouvrez-le et suivez les instructions du fichier README inclus. Pour obtenir des informations sur le dépannage, consultez Installation des outils SDK autonomes .

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

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

Kit de développement Java pour Ubuntu

Installez la version appropriée du kit de développement Java (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, consultez les exigences du JDK .

Configuration de la prise en charge de Python

Installez virtualenv pour votre plate-forme en suivant les instructions d' installation .

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

Fichiers CTS

Téléchargez et ouvrez les packages CTS à partir des téléchargements de la suite de tests de compatibilité correspondant à la version Android de vos appareils et à toutes les interfaces binaires d'application (ABI) prises en charge par vos appareils.

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 afin qu'il détecte votre appareil .

Limite de mémoire

Vous souhaiterez peut-être augmenter la mémoire maximale disponible lors de l'exécution du test dans le script cts-tradfed . Reportez-vous à l' exemple CL pour plus d'informations.

Configuration de l'appareil Android

Constructions d'utilisateurs

Un appareil compatible est défini comme un appareil avec une version signée par l'utilisateur/la clé de version. Votre appareil doit exécuter une image système basée sur la version utilisateur connue pour être compatible (Android 4.0 ou version ultérieure) à partir des noms de code, des balises et des numéros de version .

Propriété de construction 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 mettre ces informations à la disposition de CTS, les fabricants d'appareils auraient pu définir la propriété 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 éventuellement définir le niveau d'API du produit existant sur ro.product.first_api_level , afin que les exigences de mise à niveau soient appliquées pour CTS et Treble/VTS.

Les fabricants d'appareils peuvent ajouter PRODUCT_PROPERTY_OVERRIDES dans leur fichier device.mk pour définir cette propriété, comme illustré dans 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 lancés avec Android 9 ou version ultérieure, définissez la propriété ro.product.first_api_level sur une valeur valide parmi Codenames, Tags et Build Numbers .

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

Pour les appareils lancés sur Android 8.x ou une version antérieure, désactivez (supprimez) la propriété ro.product.first_api_level pour la première version du produit. Pour toutes les générations suivantes, définissez ro.product.first_api_level sur la valeur de niveau d'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 l'indicateur n'est pas défini, Android attribue Build.VERSION.SDK_INT à ro.product.first_api_level .

Paquets de cales CTS

Android 10 ou supérieur inclut un format de package appelé APEX . Pour exécuter des tests CTS pour les API de gestion APEX (comme la mise à jour vers une nouvelle version ou le signalement d'APEX actifs), vous devez préinstaller un package CtsShimApex sur une partition /system .

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

exigences ro.apex.updatable

  • Si la propriété ro.apex.updatable est définie sur true , CtsShimApex est requis pour tous les appareils qui prennent en charge 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 de shim APEX vérifie l'implémentation de CtsShimApex .

CtsShim et préchargements CtsShim

À partir d'Android 11, CtsShimApex contient deux applications prédéfinies (construites à partir de la source de génération), qui ne contiennent aucun code à l'exception du manifeste. CTS utilise ces applications pour tester les privilèges et les autorisations.

Si l'appareil ne prend pas en charge la gestion des packages APEX (c'est-à-dire si la propriété ro.apex.updatable est manquante ou n'est pas définie), ou si l'appareil exécute la version 10 ou une version antérieure, les deux applications prédéfinies doivent être préinstallées dans le système séparément.

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

android12-arm-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-arm-release
sous /system/apex/com.android.apex.cts.shim.apex
version android11-x86
sous /system/apex/com.android.apex.cts.shim.apex
android11-arm-CtsShim.apk
sous /system/app/CtsShimPrebuilt.apk

android11-arm-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-arm-CtsShim.apk
sous /system/app/CtsShimPrebuilt.apk

android10-arm-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 bras-CtsShim.apk
sous /system/app/CtsShimPrebuilt.apk

bras-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 resigner les applications.

Exemple d'applet

Android 9 a introduit les API Open Mobile. Pour les appareils qui signalent plus d'un élément sécurisé, CTS ajoute des cas de test pour valider le comportement des API Open Mobile. Ces scénarios 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 d'exemple eSE et l' applet d'exemple SIM se trouvent dans AOSP.

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

Exigences de stockage

Les tests de résistance des médias CTS exigent que les clips vidéo soient sur un stockage externe ( /sdcard ). La plupart des clips proviennent de Big Buck Bunny , qui est protégé par les droits d'auteur de la Blender Foundation 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. Reportez-vous à la section 5 du document Définition de compatibilité Android pour connaître la version de plate-forme des résolutions requises.

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

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

Écran et stockage

  • 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, insérez 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 vous assurer 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 exécutant Android 12 ou une version ultérieure, toutes les cartes SIM doivent prendre en charge le stockage des numéros abrégés (ADN). Les cartes GSM et USIM avec le fichier dédié télécom (DF Telecom ) répondent à cette exigence.

Développeur UICC

Pour exécuter des tests d'API d'opérateur CTS, l'appareil doit utiliser une carte SIM avec des privilèges d'opérateur CTS répondant aux exigences spécifiées dans Préparation de l'UICC .

Paramétrage des appareils Androïd

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

  2. Définissez la langue de votre appareil sur Anglais ( États-Unis ) : Paramètres > Langue et saisie > Langue .

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

  4. Activez le paramètre de localisation s'il y a une fonctionnalité GPS ou Wi-Fi/réseau cellulaire sur l'appareil : Paramètres > Localisation > Activé .

  5. Connectez-vous à un réseau Wi-Fi qui prend en charge IPv6, peut traiter le DUT comme un 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 ou mot de passe n'est défini sur l'appareil : Paramètres > Sécurité > Verrouillage de l'écran > Aucun .

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

  8. Réglez l'heure au format 12 heures : Paramètres > Date et heure > Utiliser le format 24 heures > Désactivé .

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

  10. Sous Android 5.x et 4.4.x uniquement , configurez l'appareil pour qu'il autorise les emplacements fictifs : Paramètres > Options pour les développeurs > Autoriser les emplacements fictifs > Activé .

  11. Sous Android 4.2 ou supérieur , désactivez la vérification des applications USB : Paramètres > Options pour les développeurs > Vérifier les applications via USB > Désactivé .

  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.

  14. Avant d'exécuter CTS, définissez Roboto2 comme police sans empattement à l'aide d'un paramètre d'affordance accessible à l'utilisateur (non masqué).

Installation du fichier

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

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

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

      Sur l'appareil, activez la délégation : Paramètres > Accessibilité > Accessibilité > Délégation du service d'accessibilité .

    • Versions CTS 6.x ou inférieures : sur les appareils qui déclarent android.software.device_admin , configurez votre appareil pour exécuter le test d'administration de l'appareil à 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 les deux administrateurs de l'appareil android.deviceadmin.cts.CtsDeviceAdminReceiver* . Assurez-vous que android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver et tous 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. Naviguez ( cd ) vers le chemin où les fichiers multimédias sont téléchargés et décompressés.
    2. Modifiez les autorisations du fichier : chmod u+x copy_media.sh

    3. Copiez les fichiers nécessaires :

      • Pour copier des clips jusqu'à une résolution de 720 x 480, 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
        
      • S'il y a plusieurs périphériques sous adb, ajoutez l'option série ( -s ) d'un périphérique spécifique à la fin. Par exemple, pour copier jusqu'à 720 x 480 sur l'appareil portant le numéro de série 1234567, exécutez :

        ./copy_media.sh 720x480 -s 1234567
        
,

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 sous test (DUT) prend en charge Bluetooth LE, placez au moins trois balises Bluetooth LE à moins de 5 mètres du DUT pour les tests de balayage Bluetooth LE. Ces balises n'ont pas besoin d'être configurées ni 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 un tableau de mire de test (comme un motif en damier). Placez le diagramme de mire en fonction de la distance de mise au point minimale du DUT pour vous assurer qu'il n'est pas trop près de l'objectif.

Dirigez les capteurs de la caméra vers une scène suffisamment éclairée pour permettre aux capteurs testés d'atteindre et de rester au nombre maximal d'images par seconde (FPS) configurées comme spécifié dans CONTROL_AE_TARGET_FPS_RANGE . Cela s'applique à tous les capteurs de caméra signalés par getCameraIdList lorsque le test itère sur les appareils répertoriés et mesure les performances 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 la position GPS. La partie GPS doit être 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, 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 qui prend en charge IPv6, dispose d'une connexion Internet et peut 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 Wi-Fi AP ou en exécutant le DUT sur 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 de transporteur IPv6 ou à un VPN pour passer certains tests en fonction d'IPv6, vous pouvez utiliser un point d'accès Wi-Fi et un tunnel IPv6. Consultez la liste des courtiers de tunnels IPv6 de Wikipedia.

RTT Wi-Fi

Android inclut l' API Wi-Fi RTT pour une capacité Wi-Fi aller-retour (RTT) . Cela permet aux appareils de mesurer leur distance aux points d'accès avec une précision de 1 à 2 mètres, ce qui augmente considérablement la précision de la localisation intérieure. Deux appareils recommandés prenant en charge le Wi-Fi RTT sont Google Wifi et le point d'accès fitlet2 de Compulab (réglé 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 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 d'exécuter le CTS, assurez-vous d'avoir installé les versions récentes d' Android Debug Bridge (adb) et d' Android Asset Packaging Tool (AAPT) et d'avoir ajouté l'emplacement de ces outils au chemin système de votre machine.

Pour installer ADB, téléchargez le package Android SDK Tools pour votre système d'exploitation, ouvrez-le et suivez les instructions du fichier README inclus. Pour obtenir des informations sur le dépannage, consultez Installation des outils SDK autonomes .

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

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

Kit de développement Java pour Ubuntu

Installez la version appropriée du kit de développement Java (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, consultez les exigences du JDK .

Configuration de la prise en charge de Python

Installez virtualenv pour votre plate-forme en suivant les instructions d' installation .

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

Fichiers CTS

Téléchargez et ouvrez les packages CTS à partir des téléchargements de la suite de tests de compatibilité correspondant à la version Android de vos appareils et à toutes les interfaces binaires d'application (ABI) prises en charge par vos appareils.

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 afin qu'il détecte votre appareil .

Limite de mémoire

Vous souhaiterez peut-être augmenter la mémoire maximale disponible lors de l'exécution du test dans le script cts-tradfed . Reportez-vous à l' exemple CL pour plus d'informations.

Configuration de l'appareil Android

Constructions d'utilisateurs

Un appareil compatible est défini comme un appareil avec une version signée par l'utilisateur/la clé de version. Votre appareil doit exécuter une image système basée sur la version utilisateur connue pour être compatible (Android 4.0 ou version ultérieure) à partir des noms de code, des balises et des numéros de version .

Propriété de construction 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 mettre ces informations à la disposition de CTS, les fabricants d'appareils auraient pu définir la propriété 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 éventuellement définir le niveau d'API du produit existant sur ro.product.first_api_level , afin que les exigences de mise à niveau soient appliquées pour CTS et Treble/VTS.

Les fabricants d'appareils peuvent ajouter PRODUCT_PROPERTY_OVERRIDES dans leur fichier device.mk pour définir cette propriété, comme illustré dans 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 lancés avec Android 9 ou version ultérieure, définissez la propriété ro.product.first_api_level sur une valeur valide parmi Codenames, Tags et Build Numbers .

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

Pour les appareils lancés sur Android 8.x ou une version antérieure, désactivez (supprimez) la propriété ro.product.first_api_level pour la première version du produit. Pour toutes les générations suivantes, définissez ro.product.first_api_level sur la valeur de niveau d'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 l'indicateur n'est pas défini, Android attribue Build.VERSION.SDK_INT à ro.product.first_api_level .

Paquets de cales CTS

Android 10 ou supérieur inclut un format de package appelé APEX . Pour exécuter des tests CTS pour les API de gestion APEX (comme la mise à jour vers une nouvelle version ou le signalement d'APEX actifs), vous devez préinstaller un package CtsShimApex sur une partition /system .

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

exigences ro.apex.updatable

  • Si la propriété ro.apex.updatable est définie sur true , CtsShimApex est requis pour tous les appareils qui prennent en charge 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 de shim APEX vérifie l'implémentation de CtsShimApex .

CtsShim et préchargements CtsShim

À partir d'Android 11, CtsShimApex contient deux applications prédéfinies (construites à partir de la source de génération), qui ne contiennent aucun code à l'exception du manifeste. CTS utilise ces applications pour tester les privilèges et les autorisations.

Si l'appareil ne prend pas en charge la gestion des packages APEX (c'est-à-dire si la propriété ro.apex.updatable est manquante ou n'est pas définie), ou si l'appareil exécute la version 10 ou une version antérieure, les deux applications prédéfinies doivent être préinstallées dans le système séparément.

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

android12-arm-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-arm-release
sous /system/apex/com.android.apex.cts.shim.apex
version android11-x86
sous /system/apex/com.android.apex.cts.shim.apex
android11-arm-CtsShim.apk
sous /system/app/CtsShimPrebuilt.apk

android11-arm-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-arm-CtsShim.apk
sous /system/app/CtsShimPrebuilt.apk

android10-arm-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 bras-CtsShim.apk
sous /system/app/CtsShimPrebuilt.apk

bras-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 resigner les applications.

Exemple d'applet

Android 9 a introduit les API Open Mobile. Pour les appareils qui signalent plus d'un élément sécurisé, CTS ajoute des cas de test pour valider le comportement des API Open Mobile. Ces scénarios 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 d'exemple eSE et l' applet d'exemple SIM se trouvent dans AOSP.

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

Exigences de stockage

Les tests de résistance des médias CTS exigent que les clips vidéo soient sur un stockage externe ( /sdcard ). La plupart des clips proviennent de Big Buck Bunny , qui est protégé par les droits d'auteur de la Blender Foundation 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. Reportez-vous à la section 5 du document Définition de compatibilité Android pour connaître la version de plate-forme des résolutions requises.

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

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

Écran et stockage

  • 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, insérez 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 vous assurer 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 exécutant Android 12 ou une version ultérieure, toutes les cartes SIM doivent prendre en charge le stockage des numéros abrégés (ADN). Les cartes GSM et USIM avec le fichier dédié télécom (DF Telecom ) répondent à cette exigence.

Développeur UICC

Pour exécuter des tests d'API d'opérateur CTS, l'appareil doit utiliser une carte SIM avec des privilèges d'opérateur CTS répondant aux exigences spécifiées dans Préparation de l'UICC .

Paramétrage des appareils Androïd

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

  2. Définissez la langue de votre appareil sur Anglais ( États-Unis ) : Paramètres > Langue et saisie > Langue .

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

  4. Activez le paramètre de localisation s'il y a une fonctionnalité GPS ou Wi-Fi/réseau cellulaire sur l'appareil : Paramètres > Localisation > Activé .

  5. Connectez-vous à un réseau Wi-Fi qui prend en charge IPv6, peut traiter le DUT comme un 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 ou mot de passe n'est défini sur l'appareil : Paramètres > Sécurité > Verrouillage de l'écran > Aucun .

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

  8. Réglez l'heure au format 12 heures : Paramètres > Date et heure > Utiliser le format 24 heures > Désactivé .

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

  10. Sous Android 5.x et 4.4.x uniquement , configurez l'appareil pour qu'il autorise les emplacements fictifs : Paramètres > Options pour les développeurs > Autoriser les emplacements fictifs > Activé .

  11. Sous Android 4.2 ou supérieur , désactivez la vérification des applications USB : Paramètres > Options pour les développeurs > Vérifier les applications via USB > Désactivé .

  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.

  14. Avant d'exécuter CTS, définissez Roboto2 comme police sans empattement à l'aide d'un paramètre d'affordance accessible à l'utilisateur (non masqué).

Installation du fichier

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

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

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

      Sur l'appareil, activez la délégation : Paramètres > Accessibilité > Accessibilité > Délégation du service d'accessibilité .

    • Versions CTS 6.x ou inférieures : sur les appareils qui déclarent android.software.device_admin , configurez votre appareil pour exécuter le test d'administration de l'appareil à 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 les deux administrateurs de l'appareil android.deviceadmin.cts.CtsDeviceAdminReceiver* . Assurez-vous que android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver et tous 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. Navigate ( cd ) to the path where the media files are downloaded and unzipped.
    2. Change the file permissions: chmod u+x copy_media.sh

    3. Copy the necessary files:

      • To copy clips up to a resolution of 720x480, run:

        ./copy_media.sh 720x480
        
      • If you aren't sure of the maximum resolution, copy all of the files:

        ./copy_media.sh all
        
      • If there are multiple devices under adb, add the serial option ( -s ) of a specific device to the end. For example, to copy up to 720x480 to the device with serial 1234567, run:

        ./copy_media.sh 720x480 -s 1234567