Configurazione di CTS

Per eseguire CTS, prepara prima il tuo ambiente fisico, il tuo computer desktop e il dispositivo Android che stai utilizzando per il test.

Ambiente fisico

Beacon Bluetooth LE

Se il dispositivo in prova (DUT) supporta Bluetooth LE, posizionare almeno tre beacon Bluetooth LE entro 5 metri dal DUT per il test di scansione Bluetooth LE. Questi beacon non devono essere configurati o emettono nulla di specifico e possono essere di qualsiasi tipo, inclusi iBeacon, Eddystone o persino dispositivi che simulano i beacon BLE.

Macchine fotografiche

Quando si esegue il CTS della telecamera, utilizzare condizioni di illuminazione normali con un diagramma del modello di prova (come uno schema a scacchiera). Posiziona il diagramma del modello di prova in base alla distanza minima di messa a fuoco del DUT per assicurarti che non sia troppo vicino all'obiettivo.

Punto i sensori della fotocamera per una scena con illuminazione sufficiente per consentire ai sensori in prova per raggiungere e rimanere ai massimi configurato frame di destinazione per secondo (FPS) come specificato in CONTROL_AE_TARGET_FPS_RANGE . Questo vale per tutti i sensori della fotocamera segnalati dai getCameraIdList come itera prova sul dispositivi e misure elencate prestazioni individualmente.

Se il DUT supporta fotocamere esterne, come webcam USB, collegare una fotocamera esterna durante l'esecuzione di CTS. In caso contrario, i test CTS falliscono.

GPS/GNSS

Se il DUT supporta la funzione del sistema di posizionamento globale/sistema di navigazione satellitare globale (GPS/GNSS), fornire un segnale GPS/GNSS al DUT a un livello di segnale adeguato per la ricezione e il calcolo della posizione GPS. La parte GPS deve essere compatibile con ICD-GPS-200C. Altrimenti, il segnale GPS/GNSS può essere di qualsiasi tipo, incluso un simulatore satellitare o un ripetitore GPS/GNSS di segnali esterni, oppure puoi posizionare il DUT abbastanza vicino a una finestra in modo che possa ricevere direttamente abbastanza segnale GPS/GNSS.

Wi-Fi e IPv6

I test CTS richiedono una rete Wi-Fi che supporti IPv6, disponga di una connessione Internet e possa trattare il DUT come un client isolato. Un client isolato fa riferimento a una configurazione in cui il DUT non ha visibilità sui messaggi broadcast/multinet su quella sottorete. Ciò si verifica con una configurazione AP Wi-Fi o eseguendo il DUT su una sottorete isolata senza che siano collegati altri dispositivi.

Se non hai accesso a una rete IPv6 nativa, a una rete di operatori IPv6 o a una VPN per superare alcuni test a seconda di IPv6, puoi utilizzare un punto di accesso Wi-Fi e un tunnel IPv6. Vedi di Wikipedia elenco di intermediari tunnel IPv6 .

Wi-Fi RTT

Android include l' API di connessione Wi-Fi RTT per un tempo di andata e ritorno Wi-Fi (RTT) capacità. Ciò consente ai dispositivi di misurare la loro distanza dai punti di accesso con una precisione da 1 a 2 metri, aumentando significativamente la precisione della posizione all'interno. Due dispositivi consigliati di supporto Wi-Fi RTT sono Google Wifi e punto di accesso fitlet2 di Compulab (insieme alla larghezza di banda di 40 MHz a 5 GHz).

I punti di accesso devono essere accesi, ma non richiedono una connessione di rete. Non è necessario che i punti di accesso si trovino accanto al dispositivo di prova, ma si consiglia di trovarsi entro 40 piedi dal DUT. In genere è sufficiente un punto di accesso.

Configurazione della macchina desktop

ADB e AAPT

Prima di eseguire il CTS, assicurarsi di aver installato le versioni più recenti di entrambi Android Debug Bridge (adb) e Android Asset Packaging Tool (AAPT) e ha aggiunto la posizione di questi strumenti al percorso di sistema della macchina.

Per installare ADB, scaricare lo Strumenti Android SDK pacchetto per il sistema operativo, aprirlo, e seguire le istruzioni contenute nel file README incluso. Per informazioni sulla risoluzione, vedere Installazione degli strumenti SDK stand-alone .

Assicurarsi che adb e aapt sono nel percorso di sistema. Il comando seguente presuppone che tu abbia aperto l'archivio del pacchetto nella tua home directory:

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

Kit di sviluppo Java

Installa la versione corretta di Java Development Kit (JDK). Per Android 7.0 o versioni successive:

Per ulteriori informazioni, vedere i requisiti di JDK .

File CTS

Scaricare e aprire gli imballaggi CTS da Compatibility Test Suite Download corrispondenti versione Android i dispositivi e tutte le interfacce binarie del programma applicativo (ABIS) che i dispositivi supportano.

Scaricare e aprire l'ultima versione dei file multimediali CTS .

Rilevamento del dispositivo

Seguire il passo per configurare il sistema per rilevare il dispositivo .

Configurazione del dispositivo Android

Build dell'utente

Un dispositivo compatibile è definito come un dispositivo con una build firmata dall'utente/chiave di rilascio. Il dispositivo dovrebbe essere in esecuzione un'immagine del sistema basato sul noto per essere facile da costruire compatibile (Android 4.0 o superiore) da Nomi in codice, tag e numeri di build .

Proprietà di build di primo livello API

Alcuni requisiti CTS dipendono dalla build con cui è stato originariamente spedito un dispositivo. Ad esempio, i dispositivi forniti originariamente con build precedenti potrebbero essere esclusi dai requisiti di sistema che si applicano ai dispositivi forniti con build successive.

Per rendere queste informazioni disponibili al CTS, produttori di dispositivi potrebbero essere definito la proprietà di accumulo tempo ro.product.first_api_level . Il valore di questa proprietà è il primo livello API con cui il dispositivo è stato lanciato commercialmente.

I produttori di dispositivi possono riutilizzare l'implementazione sottostante comune per lanciare un nuovo prodotto come aggiornamento di un prodotto esistente nello stesso gruppo di dispositivi. I produttori di dispositivi possono facoltativamente impostare il livello di API del prodotto esistente per ro.product.first_api_level , cosicché requisiti di aggiornamento sono applicate per CTS e triplo / VTS.

I produttori di dispositivi possono aggiungere PRODUCT_PROPERTY_OVERRIDES nella loro device.mk file per impostare questa proprietà, come mostrato nel seguente esempio:

#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

Primo livello API per Android 9 o versioni successive

Per i dispositivi lanciati con Android 9 o superiore, impostare la ro.product.first_api_level proprietà su un valore valido dal Nomi in codice, tag e numeri di build .

Primo livello API per Android 8.x o versioni precedenti

Per i dispositivi lanciati su Android 8.x o inferiore, unset (rimuovere) la ro.product.first_api_level proprietà per la prima build del prodotto. Per tutte le successive generazioni, insieme ro.product.first_api_level al valore del livello API corretto. Ciò consente alla proprietà di identificare correttamente un nuovo prodotto e conserva le informazioni sul primo livello API del prodotto. Se la bandiera non è impostata, Android assegna Build.VERSION.SDK_INT a ro.product.first_api_level .

Pacchetti di spessori CTS

Android 10 o superiore include un formato di pacchetto chiamato APEX . Per eseguire i test CTS per le API di gestione APEX (come ad esempio l'aggiornamento a una nuova versione o la segnalazione apici attivi) è necessario preinstallare un CtsShimApex pacchetto sul dispositivo di destinazione.

CtsShimApex è necessario per essere preinstallato su un /system partizione.

Se la ro.apex.updatable proprietà è impostata su true , CtsShimApex è richiesto per tutti i dispositivi che supportano la gestione dei pacchetti APEX.

Se la ro.apex.updatable proprietà non è presente o non è impostata, CtsShimApex non è richiesto di essere preinstallato su una gestione dei pacchetti. Se la ro.apex.updatable proprietà non è presente o non è impostata, CtsShimApex non è richiesta per essere preinstallato su un dispositivo. L'APEX spessore test di convalida verifica l'attuazione delle CtsShimApex .

A partire da Android 11, CtsShimApex contiene due applicazioni predefinite (costruite da questa fonte ), che non contengono alcun codice, tranne per il manifesto. CTS utilizza queste app per testare privilegi e autorizzazioni.

Se il dispositivo non supporta la gestione dei pacchetti APEX (cioè, il ro.apex.updatable proprietà non è presente o non è impostato), o se il dispositivo esegue la versione a 10 o inferiore, le due applicazioni predefiniti devono essere preinstallati nel sistema separatamente:

Per superare i test, precaricare le app nelle directory appropriate sull'immagine di sistema senza firmare nuovamente le app.

Applet di esempio

Android 9 ha introdotto le API mobili aperte. Per i dispositivi che segnalano più di un elemento sicuro, CTS aggiunge casi di test per convalidare il comportamento delle API Open Mobile. Questi casi di test richiedono l'installazione una tantum di un'applet di esempio nel Secure Element (eSE) incorporato del DUT o nella scheda SIM utilizzata dal DUT. L' applet di esempio ESE e l' applet campione di SIM possono essere trovati in AOSP.

Vedere CTS di prova di Secure Element per informazioni più dettagliate sui casi di test API Open Mobile e casi di test di controllo degli accessi.

Requisiti di archiviazione

I media sottolineano CTS test richiedono videoclip di essere su storage esterno ( /sdcard ). La maggior parte delle clip sono da Big Buck Bunny , che è protetta da copyright dalla Blender Foundation sotto la licenza Creative Commons Attribution 3.0 .

Lo spazio richiesto dipende dalla risoluzione massima di riproduzione video supportata dal dispositivo. Vedere la sezione 5 del documento di definizione di compatibilità di Android per la versione della piattaforma delle risoluzioni necessarie).

Ecco i requisiti di archiviazione per la massima risoluzione di riproduzione video:

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

Schermo e memoria

  • Qualsiasi dispositivo che non dispone di uno schermo incorporato deve essere collegato a uno schermo.
  • Se il dispositivo dispone di uno slot per schede di memoria, inserisci una scheda SD vuota. Utilizzare una scheda SD che supporti un bus ad altissima velocità (UHS) con capacità SDHC o SDXC o una con almeno una classe di velocità 10 o superiore per assicurarsi che possa superare il CTS.

  • Se il dispositivo dispone di slot per schede SIM, inserire una scheda SIM attivata in ciascuno slot. Se il dispositivo supporta gli SMS, ogni scheda SIM deve avere il proprio campo del numero compilato. Per i dispositivi con Android 12 o versioni successive, tutte le schede SIM devono supportare la memorizzazione dei numeri di selezione abbreviata (ADN). Schede GSM e USIM con il file dedicato telecomunicazioni (DF Telecom) rispondono a questa esigenza.

Sviluppatore UICC

Per eseguire test CTS vettore API, il dispositivo deve utilizzare una SIM con CTS privilegi carrier soddisfano i requisiti specificati nella Preparazione UICC .

Configurazione del dispositivo Android

  1. Ripristino dati di fabbrica del dispositivo: Impostazioni> Ripristino Backup &> Ripristino dati di fabbrica.

  2. Impostare la lingua del dispositivo a Inglese (Stati Uniti): Impostazioni> Lingua e immissione> Lingua.

  3. Attivare l'impostazione della posizione se c'è un GPS o di funzione di rete Wi-Fi / cellulare sul dispositivo: Impostazioni> Posizione> On.

  4. Connessione a una rete Wi-Fi che supporta IPv6, in grado di trattare l'oggetto in prova come client isolato (vedi Ambiente fisico sopra), ed ha una connessione a Internet: Impostazioni> Wi-Fi.

  5. Assicurarsi che nessun modello di blocco o la password è impostata sul dispositivo: Impostazioni> Sicurezza> Blocco schermo> Nessuno.

  6. Attivare il debug USB sul dispositivo: Impostazioni> Opzioni sviluppatore> Debug USB.

  7. Impostare l'ora in formato 12 ore: Impostazioni> Data e ora> Usa formato 24 ore> Disattiva.

  8. Impostare il dispositivo di rimanere sveglio: Impostazioni> Opzioni sviluppatore> Stay Awake> On.

  9. In Android 5.xe 4.4.x, impostare il dispositivo per consentire posizioni simulate: Impostazioni> Opzioni sviluppatore> Posizioni fittizie> On .10. In Android 4.2 o superiore, spegnere USB verifica delle app: Impostazioni> Opzioni sviluppatore> Verifica app tramite USB> Off .11. Avvia il browser e chiudi qualsiasi schermata di avvio/impostazione.

  10. Collegare la macchina desktop che verrà utilizzata per testare il dispositivo con un cavo USB.

Installazione file

Installa e configura le app di supporto sul dispositivo.

  1. Configura il tuo dispositivo in base alla tua versione CTS:

    • Versioni CTS 2.1 R2 attraverso 4.2 R4: configurare il dispositivo (o emulatore) per eseguire i test di accessibilità con: abd install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      Sul dispositivo, abilitare la delega: Impostazioni> Accessibilità> Accessibilità> Delega Accessibilità servizio.

    • Versioni CTS 6.xo inferiore: Sui dispositivi che dichiaro android.software.device_admin , configurare il dispositivo per eseguire il test di amministrazione dispositivo utilizzando: adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`

      In Impostazioni> Sicurezza> Seleziona gli amministratori dispositivo, consentirà alle due android.deviceadmin.cts.CtsDeviceAdminReceiver* amministratori del dispositivo. Assicurarsi che android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver ed eventuali altri amministratori del dispositivo precaricati restano disattivati.

  2. Copiare i file multimediali CTS sul dispositivo come segue:

    1. Naviga ( cd ) per il percorso in cui i file multimediali vengono scaricati e decompressi.
    2. Cambiare i permessi dei file: chmod u+x copy_media.sh

    3. Copia i file necessari:

      • Per copiare clip fino a una risoluzione di 720x480, eseguire:

        ./copy_media.sh 720x480
        
      • Se non sei sicuro della risoluzione massima, copia tutti i file:

        ./copy_media.sh all
        
      • Se sono presenti più dispositivi in adb, aggiungere l'opzione seriale ( -s ) di un dispositivo specifico alla fine. Ad esempio, per copiare fino a 720x480 sul dispositivo con seriale 1234567, eseguire:

        ./copy_media.sh 720x480 -s 1234567