Imposta CTS

Per eseguire CTS, prima prepara l'ambiente fisico, il computer desktop e il dispositivo Android che utilizzi per i test.

Ambiente fisico

Beacon Bluetooth LE

Se il dispositivo sottoposto a test (DUT) supporta Bluetooth LE, posiziona almeno tre Beacon Bluetooth LE entro 5 metri dal DUT per test di scansione Bluetooth LE. Questi beacon non devono essere configurati o emettono elementi specifici e possono essere di qualsiasi tipo, inclusi iBeacon, Eddystone o persino dispositivi che simulano beacon BLE.

Banda ultralarga

Se il DUT supporta la banda ultralarga (UWB), un altro dispositivo la tecnologia UWB di supporto deve essere posizionata sufficientemente vicino e orientata in modo da non avere antenne e zona morta radio. Per i test di accuratezza della distanza, ci sono esigenze di posizionamento e orientamento specifiche. Per i dettagli di configurazione, vedi Requisiti UWB. Il test UWB deve essere eseguito manualmente, specificando nella riga di comando quali due dispositivi a un metro di distanza. Per i dettagli sullo sharding richiesto per questo test, consulta Spartizionamento orizzontale locale.

Fotocamere

Quando esegui CTS della fotocamera, usa condizioni di illuminazione normali con uno schema di prova. (ad esempio, un motivo a scacchiera). Posiziona il grafico dei pattern di test in base alla distanza minima di messa a fuoco del DUT per assicurarsi che non sia troppo vicino al obiettivo.

Inquadra con i sensori della fotocamera una scena con un'illuminazione sufficiente per consentire il sensori sottoposti a test per raggiungere e rimanere al numero massimo di frame target configurati al secondo (f/s) come specificato CONTROL_AE_TARGET_FPS_RANGE Si applica a tutti i sensori della fotocamera segnalati da getCameraIdList mentre il test esegue l'iterazione sui dispositivi elencati e misura le prestazioni singolarmente.

Se il DUT supporta fotocamere esterne, ad esempio le webcam USB, collega un cavo esterno della videocamera quando si esegue CTS. In caso contrario, i test CTS non riescono.

GPS/GNSS

Se il DUT supporta il sistema di posizionamento globale/il satellite di navigazione globale di sistema (GPS/GNSS), fornire un segnale GPS/GNSS al DUT in un punto livello del segnale per il calcolo della ricezione e della posizione GPS. La parte GPS deve essere conforme allo standard ICD-GPS-200C. Altrimenti, il segnale GPS/GNSS può essere di qualsiasi tipo, compreso un simulatore satellitare o un ripetitore GPS/GNSS di segnali esterni oppure puoi posizionare il DUT abbastanza vicino a una finestra da poter ricevere direttamente segnale GPS/GNSS sufficiente.

Wi-Fi e IPv6

I test CTS richiedono una rete Wi-Fi che supporta IPv4 e IPv6 e una connessione una connessione con un DNS funzionante per IPv4 e IPv6, supporta il multicast IP e può trattare il DUT come un client isolato. Un client isolato è una configurazione in cui il DUT non ha visibilità ai messaggi broadcast/multinetwork di quella subnet. Questo si verifica con una configurazione del punto di accesso Wi-Fi (AP) o eseguendo il DUT su una subnet isolata senza altri dispositivi connessi.

Se non puoi accedere a una rete IPv6 nativa, a una rete di operatori IPv6 o a una VPN per superare alcuni test a seconda dell'IPv6, puoi usare un punto di accesso Wi-Fi e un tunnel IPv6.

Per superare il CTS, il DUT richiede l'impostazione dei flag UP, BROADCAST e MULTICAST l'interfaccia Wi-Fi. L'interfaccia Wi-Fi richiede l'assegnazione di indirizzi IPv4 e IPv6. Verifica le proprietà dell'interfaccia Wi-Fi con adb shell ifconfig.

Per i dispositivi che supportano Contemporaneità STA/STA Wi-Fi Sono necessarie più reti Wi-Fi (almeno due). Per superare il CTS, il Wi-Fi le reti devono essere connesse su bande diverse con SSID diversi o lo stesso SSID con BSSID diversi.

RTT Wi-Fi

Android include API Wi-Fi RTT per un tempo di round trip Wi-Fi (RTT) funzionalità. In questo modo i dispositivi possono misurare la distanza dai punti di accesso con con una precisione compresa tra 1 e 2 metri, aumentando notevolmente la precisione della posizione all'interno degli ambienti. Due dispositivi consigliati che supportano Wi-Fi RTT sono Google Wifi e Punto di accesso fitlet2 di Compulab (impostata 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. I punti di accesso non devono necessariamente essere vicini al dispositivo di test, ma è consigliabile non deve superare i 12 piedi dal DUT. In genere è sufficiente un punto di accesso.

Configurazione computer desktop

Attenzione: CTS supporta i computer Linux a 64 bit. CTS non è supportato sul sistema operativo Windows o macOS.

FFMPEG

Installare il pacchetto ffmpeg versione 5.1.3 (o successiva) sul computer host.

Upgrade della macchina host

Si consiglia vivamente di eseguire l'upgrade della RAM della macchina host CTS a 128 GB e dell'HDD a 256 GB. È necessario per accogliere il maggior numero di scenari di test CTS e un aumento della prenotazione dello spazio heap Java trascritto.

ADB e AAPT2

Prima di eseguire CTS, assicurarsi di aver installato le versioni recenti di entrambi Android Debug Bridge (adb) e Strumento di presentazione di asset per Android (AAPT2) e hai aggiunto la posizione di questi strumenti al percorso di sistema della tua macchina.

Per installare ADB e AAPT2, scarica la versione più recente Strumenti della piattaforma SDK Android e Strumenti di creazione SDK per Android dal set di dati di Android Studio Gestore SDK o dal sdkmanager a riga di comando.

Assicurati che adb e aapt2 siano presenti nel percorso di sistema. Il comando seguente presuppone che tu abbia scaricato gli archivi dei pacchetti in una sottodirectory denominata android-sdk nella tua home directory:

export PATH=$PATH:$HOME/android-sdk/platform-tools:$HOME/android-sdk/build-tools/<tools version number>

Java Development Kit per Ubuntu

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

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

Per maggiori dettagli, consulta i requisiti JDK.

Configurazione per il supporto Python

Installa virtualenv per la tua piattaforma seguendo le Installazione istruzioni.

Puoi verificare che l'installazione sia riuscita richiamando virtualenv -h.

File CTS

Scaricare e aprire i pacchetti CTS da Download della suite di test di compatibilità corrispondenti ai tuoi dispositivi Versione di Android e tutte le interfacce binarie dell'applicazione (ABI) supportate dai tuoi dispositivi.

Scarica e apri l'ultima versione di File multimediali CTS.

Scarica i file CTS relativi a Mainline (facoltativo)

Quando esegui una versione CTS per la prima volta, CTS scarica dinamicamente File CTS correlati a Mainline, che aggiungono almeno 10 minuti al tempo di esecuzione a seconda della velocità della rete.

Per evitare questo ulteriore tempo di esecuzione CTS, puoi scaricare il file CTS relativo a Mainline prima di eseguire la versione CTS, seguendo queste istruzioni:

  1. Ottieni il livello API Android sul dispositivo eseguendo:

    adb shell getprop ro.build.version.sdk
    
  2. Segui le istruzioni nello script download_mcts.sh per scaricare i file CTS di Mainline.

    Il download richiede almeno 10 minuti, a seconda della velocità della rete.

Rilevamento dei dispositivi

Segui la procedura per configurare il sistema in modo che rilevi il dispositivo.

Limite di memoria

Potresti voler aumentare la memoria massima disponibile durante l'esecuzione di test nel contraffazione lo script. Consulta l'esempio di CL per ulteriori informazioni.

Configurazione dispositivo Android

Build utente

Per dispositivo compatibile si intende un dispositivo con una build firmata dall'utente o con una chiave di rilascio. Sul dispositivo deve essere in esecuzione un'immagine di sistema basata sulla compatibilità nota build utente (Android 4.0 o versioni successive) da Nomi in codice, tag e numeri build.

Proprietà di compilazione a livello API primo

Alcuni requisiti CTS dipendono dalla build originale del dispositivo con cui viene spedito. Ad esempio, i dispositivi originariamente forniti con build precedenti potrebbero essere esclusi dai requisiti di sistema che si applicano ai dispositivi dotati di con le build più recenti.

Per rendere disponibili queste informazioni a CTS, i produttori di dispositivi potrebbero ha definito la proprietà di build-time ro.product.first_api_level. Il valore di questo è 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 upgrade di un prodotto esistente sullo stesso dispositivo gruppo. I produttori di dispositivi possono facoltativamente impostare il livello API della versione prodotto in ro.product.first_api_level, per cui i requisiti di upgrade richiesto per CTS e Treble/VTS.

I produttori possono definire PRODUCT_SHIPPING_API_LEVEL nei propri device.mk per impostare questa proprietà, come mostrato nell'esempio seguente:

# 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

Primo livello API per Android 9 o versioni successive

Per i dispositivi lanciati con Android 9 o versioni successive, imposta il valore ro.product.first_api_level a un valore valido da Nomi in codice, tag e numeri build.

Primo livello API per Android 8.x o versioni precedenti

Per i dispositivi lanciati con Android 8.x o versioni precedenti, annulla l'impostazione (rimuovi) del ro.product.first_api_level per la prima build del prodotto. Per Per tutte le build successive, imposta ro.product.first_api_level sul livello API corretto valore. In questo modo la proprietà può identificare correttamente un nuovo prodotto e conserva le informazioni sul primo livello API del prodotto. Se il flag è se non viene configurato, Android assegna Build.VERSION.SDK_INT a ro.product.first_api_level.

Pacchetti shim CTS

Android 10 o versioni successive include un formato di pacchetto chiamato APEX Esecuzione di test CTS per la gestione APEX API (come l'aggiornamento a una nuova versione o la segnalazione degli APEX attivi) preinstalla 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, il valore di CtsShimApex è richiesto per tutti i dispositivi che supportano la gestione dei pacchetti APEX.

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

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

Preinstallazioni e precaricamenti CtsShim

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

Se il dispositivo non supporta la gestione dei pacchetti APEX (ovvero, ro.apex.updatable proprietà non è presente o non è impostata) o se il dispositivo è 10 o versioni precedenti, le due app predefinite devono essere preinstallati nel sistema separatamente.

Se il protocollo APEX è supportato, le preinstallazioni per la release appropriata devono essere inserite come /system/apex/com.android.apex.cts.shim.apex.

Se vengono utilizzate normali app predefinite, CtsShim e CtsShimPriv per la release appropriata deve essere posizionata come /system/app/CtsShimPrebuilt.apk e /system/priv-app/CtsShimPrivPrebuilt.apk rispettivamente.

La seguente tabella elenca le preinstallazioni e i precaricamenti disponibili per ogni la versione e l'architettura del dispositivo.

Versione dispositivo Preinstalla
(se il protocollo APEX è supportato)
Precarica
ABILITA x86 ABILITA x86
Android 14 release-arm-android14 android14-x86-release android14-arm-CtsShim.apk

android14-arm-CtsShimPriv.apk

android14-x86-CtsShim.apk

android14-x86-CtsShimPriv.apk

Android 13 release-arm-android13 android13-x86-release android13-arm-CtsShim.apk

android13-arm-CtsShimPriv.apk

android13-x86-CtsShim.apk

android13-x86-CtsShimPriv.apk

Android 12 release-arm-android12 android12-x86-release android12-arm-CtsShim.apk

android12-arm-CtsShimPriv.apk

android12-x86-CtsShim.apk

android12-x86-CtsShimPriv.apk

Android 11 release-arm-android11 android11-x86-release android11-arm-CtsShim.apk

android11-arm-CtsShimPriv.apk

android11-x86-CtsShim.apk

android11-x86-CtsShimPriv.apk

Android 10 versione-android10 android10-arm-CtsShim.apk

android10-arm-CtsShimPriv.apk

android10-x86-CtsShim.apk

android10-x86-CtsShimPriv.apk

Android 9, O e O-MR1 N/D N/D arm-CtsShim.apk

arm-CtsShimPriv.apk

x86-CtsShim.apk

x86-CtsShimPriv.apk

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

Applet di esempio

Android 9 ha introdotto le API Open Mobile. Per i dispositivi che segnalano più di uno Secure Element, CTS aggiunge scenari di test per convalidare il comportamento su quelle di livello inferiore. Questi scenari di test richiedono l'installazione una tantum di un applet di esempio in il Secure Element (eSE) incorporato del DUT o nella scheda SIM utilizzata dal DUT. La applet di esempio eSE e ai Applet di esempio SIM è disponibile in AOSP.

Consulta Test CTS per Secure Element per informazioni più dettagliate sugli scenari di test Open Mobile API e il test di controllo dell'accesso d'uso diversi.

Requisiti per lo spazio di archiviazione

Gli stress test multimediali CTS richiedono video clip su una memoria esterna (/sdcard) La maggior parte dei clip proviene Big Buck Bunny, protetto da copyright da parte di Mergeer Foundation nel Licenza Creative Commons Attribution 3.0.

Lo spazio richiesto dipende dalla risoluzione massima di riproduzione video supportata del dispositivo. Consulta la sezione 5 del Documento di definizione della compatibilità Android per la versione della piattaforma delle risoluzioni richieste.

Di seguito sono riportati i requisiti di archiviazione previsti per la risoluzione massima di riproduzione dei video:

  • 480 x 360: 98 MB
  • 720 x 480: 193 MB
  • 1280 x 720: 606 MB
  • 1920 x 1080: 1863 MB

Schermo e spazio di archiviazione

  • Qualsiasi dispositivo che non dispone di uno schermo incorporato deve essere collegato a un schermo.
  • Se il dispositivo ha uno slot per scheda di memoria, inserisci una scheda SD vuota. Utilizzare una SD che supporti un bus UHS (Ultra High Speed) con capacità SDHC o SDXC oppure uno con almeno una classe di velocità 10 o superiore per garantire che possa passare CTS.

  • Se il dispositivo è dotato di slot per scheda SIM, inserisci una scheda SIM attiva in ogni slot. Se il dispositivo supporta gli SMS, ogni scheda SIM deve avere un proprio campo numerico. compilate. Per i dispositivi con Android 12 o superiore, tutte le schede SIM devono supportare la memorizzazione di chiamate abbreviate numeri (ADN). Schede GSM e USIM con il file dedicato alle telecomunicazioni (DFTelecom) soddisfano questo requisito.

UICC sviluppatore

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

Configurazione dispositivo Android

  1. Esegui il ripristino dei dati di fabbrica del dispositivo: Impostazioni > Backup e reimposta > Dati di fabbrica Reimposta.

  2. Imposta l'inglese (Stati Uniti) come lingua del dispositivo: Impostazioni > Lingua e input > Lingua.

  3. Se il dispositivo supporta la personalizzazione dei caratteri predefiniti, imposta il carattere predefinito Famiglia di caratteri da sans-serif a Roboto (la famiglia di caratteri predefinita per sans-serif) utilizzati nelle build AOSP).

  4. Attiva la geolocalizzazione se è presente una rete GPS o Wi-Fi/mobile funzione sul dispositivo: Impostazioni > Posizione > Attivato.

  5. Connettersi a una rete Wi-Fi che supporta IPv6 può considerare il DUT come un cliente isolato (vedi la sezione Ambiente fisico sopra), e dispone di una connessione a internet: Impostazioni > Wi-Fi.

  6. Assicurati che sul dispositivo non siano impostate una sequenza di blocco o una password: Impostazioni > Sicurezza > Blocco schermo > Nessuna.

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

  8. Per impostare l'ora nel formato 12 ore: Impostazioni > Data e tempo > Utilizza 24 ore formato > Disattivato.

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

  10. In Android 5.x e 4.4.x, imposta il dispositivo in modo che consenta le posizioni fittizie: Impostazioni > Opzioni sviluppatore > Consenti posizioni fittizie > Attivato.

  11. In Android 4.2 o versioni successive, disattiva la verifica app USB: Impostazioni > Opzioni sviluppatore > Verifica le app tramite USB > Disattivato.

  12. In Android 13 o versioni successive, imposta il dispositivo in modo che consenta il modem fittizio: Impostazioni > Opzioni sviluppatore > Consenti modem fittizio > Attivato.

  13. Avvia il browser e chiudi tutte le schermate di avvio/configurazione.

  14. Collega il computer desktop che verrà utilizzato per testare il dispositivo con una porta USB via cavo.

  15. Prima di eseguire CTS, imposta Roboto2 come font San Serif utilizzando un parametro accessibile (non nascosta).

Installazione di file

Installa e configura le app helper sul dispositivo.

  1. Configura il dispositivo in base alla versione CTS:

    • Versioni di CTS dalla 2.1 R2 alla 4.2 R4: configura il dispositivo (o l'emulatore) per eseguire i test di accessibilità con: adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      Sul dispositivo, attiva la delega: Impostazioni > Accessibilità > Accessibilità > Delegare il servizio di accessibilità.

    • CTS 6.x o versioni precedenti: sui dispositivi con dichiarazione android.software.device_admin, configura il tuo dispositivo per l'esecuzione di amministrazione Google mediante: adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`

      In Impostazioni > Sicurezza > Seleziona amministratori dispositivo, attiva due dispositivi android.deviceadmin.cts.CtsDeviceAdminReceiver* Google Workspace for Education. Assicurati che android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver e qualsiasi gli altri amministratori di dispositivi precaricati rimangono disattivati.

  2. Copia i file multimediali CTS sul dispositivo nel seguente modo:

    1. Vai al percorso (cd) in cui vengono scaricati i file multimediali. decompresso.
    2. Modifica le autorizzazioni dei file: chmod u+x copy_media.sh

    3. Copia i file necessari:

      • Per copiare clip con una risoluzione massima di 720 x 480, esegui:

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

        ./copy_media.sh all
        
      • Se in ADB sono presenti più dispositivi, aggiungi l'opzione seriale. (-s) di un dispositivo specifico alla fine. Ad esempio, per copiare fino 720 x 480 al dispositivo con il numero seriale 1234567, esegui:

        ./copy_media.sh 720x480 -s 1234567