Impostazione CTS

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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

Segnalatori Bluetooth LE

Se il dispositivo sottoposto a test (DUT) supporta Bluetooth LE, posizionare almeno tre radiofari 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 di pattern di prova (come un motivo a scacchiera). Posizionare il diagramma del modello di prova in base alla distanza minima di messa a fuoco del DUT per assicurarsi che non sia troppo vicino all'obiettivo.

Puntare i sensori della telecamera su una scena con illuminazione sufficiente per consentire ai sensori in prova di raggiungere e rimanere ai fotogrammi target al secondo (FPS) configurati massimi come specificato in CONTROL_AE_TARGET_FPS_RANGE . Questo vale per tutti i sensori della fotocamera segnalati da getCameraIdList poiché il test esegue un'iterazione sui dispositivi elencati e misura le prestazioni individualmente.

Se il DUT supporta telecamere esterne, come webcam USB, collegare una telecamera 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 satellitare di navigazione 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 conforme a 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 è possibile 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 IPv4 e IPv6, abbia una connessione Internet con DNS funzionante per IPv4 e IPv6, supporti IP multicast e possa trattare il DUT come un client isolato. Un client isolato è una configurazione in cui il DUT non ha visibilità sui messaggi broadcast/multinetwork su quella sottorete. Ciò si verifica con una configurazione del punto di accesso (AP) Wi-Fi o eseguendo il DUT su una sottorete isolata senza che altri dispositivi siano collegati.

Se non hai accesso a una rete IPv6 nativa, a una rete portante 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 l' elenco di Wikipedia dei broker di tunnel IPv6 .

Per superare CTS, il DUT necessita dei flag UP , BROADCAST e MULTICAST impostati sull'interfaccia Wi-Fi. L'interfaccia Wi-Fi necessita di indirizzi IPv4 e IPv6 assegnati. Controlla le proprietà dell'interfaccia Wi-Fi con adb shell ifconfig .

Wi-Fi RTT

Android include l' API Wi-Fi RTT per una funzionalità Wi-Fi Round Trip Time (RTT) . 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 interna. Due dispositivi consigliati che supportano Wi-Fi RTT sono Google Wifi e il punto di accesso fitlet2 di Compulab (impostato su una 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 test, 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 CTS, assicurati di aver installato le versioni recenti di Android Debug Bridge (adb) e Android Asset Packaging Tool (AAPT) e di aver aggiunto la posizione di tali strumenti al percorso di sistema del tuo computer.

Per installare ADB, scarica il pacchetto Android SDK Tools per il tuo sistema operativo, aprilo e segui le istruzioni nel file README incluso. Per informazioni sulla risoluzione dei problemi, vedere Installazione degli strumenti SDK autonomi .

Assicurati che adb e aapt siano nel tuo 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 per Ubuntu

Installare la versione corretta di Java Development Kit (JDK) .

  • Per Android 11, installa OpenJDK11.
  • Per Android 9 e Android 10, installa OpenJDK9.
  • Per Android 7.0, 7.1, 8.0 e 8.1, installa OpenJDK8.

Per i dettagli, vedere i requisiti JDK .

Configurazione per il supporto Python

Installa virtualenv per la tua piattaforma seguendo le istruzioni di installazione .

Puoi verificare che l'installazione abbia esito positivo invocando virtualenv -h .

File CTS

Scarica e apri i pacchetti CTS da Compatibility Test Suite Download corrispondenti alla versione Android dei tuoi dispositivi e a tutte le interfacce binarie dell'applicazione (ABI) supportate dai tuoi dispositivi.

Scarica e apri l'ultima versione dei file multimediali CTS .

Rilevamento del dispositivo

Segui il passaggio per configurare il tuo sistema in modo che rilevi il tuo dispositivo .

Limite di memoria

Potresti voler aumentare la memoria massima disponibile durante l'esecuzione del test nello script cts-tradfed . Fare riferimento all'esempio CL per ulteriori informazioni.

Configurazione del dispositivo Android

Costruzioni utente

Un dispositivo compatibile è definito come un dispositivo con una build firmata dall'utente/chiave di rilascio. Il tuo dispositivo dovrebbe eseguire un'immagine di sistema basata sulla build utente nota per essere compatibile (Android 4.0 o versioni successive) da Codenames, Tags e Build Numbers .

Prima proprietà di build a livello di API

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

Per rendere queste informazioni disponibili a CTS, i produttori di dispositivi potrebbero aver definito la proprietà build-time ro.product.first_api_level . Il valore di questa proprietà è il primo livello API con cui il dispositivo è stato lanciato in commercio.

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 opzionalmente impostare il livello API del prodotto esistente su ro.product.first_api_level , in modo che i requisiti di aggiornamento vengano applicati per CTS e Treble/VTS.

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

#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 avviati con Android 9 o versioni successive, imposta la proprietà ro.product.first_api_level su un valore valido da Codenames, Tags e Build Numbers .

Primo livello API per Android 8.x o versioni precedenti

Per i dispositivi avviati su Android 8.x o versioni precedenti, deselezionare (rimuovere) la proprietà ro.product.first_api_level per la prima build del prodotto. Per tutte le build successive, imposta ro.product.first_api_level sul 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 il flag non è impostato, Android assegna Build.VERSION.SDK_INT a ro.product.first_api_level .

Pacchetti di spessori CTS

Android 10 o versioni successive include un formato di pacchetto chiamato APEX . Per eseguire i test CTS per le API di gestione APEX (come l'aggiornamento a una nuova versione o la segnalazione di APEX attivi) è necessario preinstallare un pacchetto CtsShimApex su una partizione /system .

Il test di convalida dello shim APEX verifica l'implementazione di CtsShimApex .

requisiti ro.apex.updatable

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

  • Se la proprietà ro.apex.updatable è mancante o non è impostata, non è necessario che CtsShimApex sia preinstallato su un dispositivo.

Il test di convalida dello shim APEX verifica l'implementazione di CtsShimApex .

CtsShim preinstalla e precarica

A partire da Android 11, CtsShimApex contiene due app predefinite (create da build source ), che non contengono codice ad eccezione del manifest. CTS usa queste app per testare privilegi e autorizzazioni.

Se il dispositivo non supporta la gestione dei pacchetti APEX (ovvero la proprietà ro.apex.updatable è mancante o non è impostata) o se il dispositivo esegue la versione 10 o precedente, le due app predefinite devono essere preinstallate nel sistema separatamente.

Versione del dispositivo Preinstallare
(se APEX supportato)
Precarico
BRACCIO x86 BRACCIO x86
Android 12 Android12-rilascio del braccio
in /system/apex/com.android.apex.cts.shim.apex
versione Android12-x86
in /system/apex/com.android.apex.cts.shim.apex
android12-arm-CtsShim.apk
in /system/app/CtsShimPrebuilt.apk

android12-arm-CtsShimPriv.apk
in /system/priv-app/CtsShimPrivPrebuilt.apk

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

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

Android 11 Android11-rilascio del braccio
in /system/apex/com.android.apex.cts.shim.apex
versione Android11-x86
in /system/apex/com.android.apex.cts.shim.apex
android11-arm-CtsShim.apk
in /system/app/CtsShimPrebuilt.apk

android11-arm-CtsShimPriv.apk
in /system/priv-app/CtsShimPrivPrebuilt.apk

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

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

Android 10 versione Android10
in /system/apex/com.android.apex.cts.shim.apex
android10-arm-CtsShim.apk
in /system/app/CtsShimPrebuilt.apk

android10-arm-CtsShimPriv.apk
in /system/priv-app/CtsShimPrivPrebuilt.apk

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

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

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

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

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

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

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

Esempio di applet

Android 9 ha introdotto le API Open Mobile. 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) integrato del DUT o nella scheda SIM utilizzata dal DUT. L' applet di esempio eSE e l' applet di esempio SIM si trovano in AOSP.

Vedere Test CTS per Secure Element per informazioni più dettagliate sui test case Open Mobile API e sui test case Access Control.

Requisiti di archiviazione

I test di stress dei supporti CTS richiedono che i clip video siano su una memoria esterna ( /sdcard ). La maggior parte delle clip provengono da Big Buck Bunny , che è protetto da copyright della 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 nel documento di definizione della compatibilità Android per la versione della piattaforma delle risoluzioni richieste.

Di seguito sono riportati i requisiti di archiviazione in base alla risoluzione massima di riproduzione video:

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

Schermo e archiviazione

  • 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, inserire una scheda SD vuota. Utilizzare una scheda SD che supporti il ​​bus UHS (ultra high speed) con capacità SDHC o SDXC o una con almeno una classe di velocità 10 o superiore per garantire 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 numerico compilato. Per i dispositivi con Android 12 o versioni successive, tutte le schede SIM devono supportare la memorizzazione dei numeri di selezione abbreviata (ADN). Le schede GSM e USIM con il file dedicato per le telecomunicazioni (DF Telecom ) soddisfano questo requisito.

Sviluppatore UICC

Per eseguire i test dell'API dell'operatore CTS, il dispositivo deve utilizzare una SIM con privilegi dell'operatore CTS che soddisfi i requisiti specificati in Preparazione dell'UICC .

Configurazione del dispositivo Android

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

  2. Imposta la lingua del tuo dispositivo su Inglese ( Stati Uniti ): Impostazioni > Lingua e immissione > Lingua .

  3. Se il dispositivo supporta la personalizzazione dei caratteri predefiniti, impostare la famiglia di caratteri sans-serif predefinita su Roboto (la famiglia di caratteri sans-serif predefinita utilizzata nelle build AOSP).

  4. Attiva l'impostazione della posizione se sul dispositivo è presente una funzione di rete GPS o Wi-Fi/cellulare: Impostazioni > Posizione > Attiva .

  5. Connettiti a una rete Wi-Fi che supporta IPv6, può trattare il DUT come un client isolato (vedi Ambiente fisico sopra) e dispone di una connessione Internet: Impostazioni > Wi-Fi .

  6. Assicurati che sul dispositivo non sia impostata alcuna sequenza di blocco o password: Impostazioni > Sicurezza > Blocco schermo > Nessuno .

  7. Abilita il debug USB sul tuo dispositivo: Impostazioni > Opzioni sviluppatore > Debug USB .

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

  9. Impostare il dispositivo in modo che rimanga attivo: Impostazioni > Opzioni sviluppatore > Rimani sveglio > Acceso .

  10. Solo in Android 5.xe 4.4.x , imposta il dispositivo per consentire posizioni fittizie: Impostazioni > Opzioni sviluppatore > Consenti posizioni fittizie > Attivato .

  11. In Android 4.2 o versioni successive , disattiva la verifica dell'app USB: Impostazioni > Opzioni sviluppatore > Verifica app su USB > Disattiva .

  12. In Android 13 o versioni successive , imposta il dispositivo per consentire il modem simulato: Impostazioni > Opzioni sviluppatore > Consenti modem simulato > Attivato .

  13. Avvia il browser e chiudi qualsiasi schermata di avvio/impostazione.

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

  15. Prima di eseguire CTS, impostare Roboto2 come font sans-serif utilizzando un'impostazione accessibile (non nascosta) accessibile dall'utente.

Installazione di file

Installa e configura le app di supporto sul dispositivo.

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

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

      Sul dispositivo, abilita la delega: Impostazioni > Accessibilità > Accessibilità > Delega del servizio di accessibilità .

    • CTS versioni 6.x o precedenti: sui dispositivi che dichiarano android.software.device_admin , configura il tuo dispositivo per eseguire il test di amministrazione del dispositivo utilizzando: adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`

      In Impostazioni > Sicurezza > Seleziona amministratori dispositivo , abilita i due amministratori dispositivo android.deviceadmin.cts.CtsDeviceAdminReceiver* . Assicurati che android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver e tutti gli altri amministratori di dispositivi precaricati rimangano disabilitati.

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

    1. Passare ( cd ) al percorso in cui i file multimediali vengono scaricati e decompressi.
    2. Modifica i permessi del 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, aggiungi 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