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:
Ottieni il livello API Android sul dispositivo eseguendo:
adb shell getprop ro.build.version.sdk
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 sutrue
, il valore diCtsShimApex
è 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-x86-CtsShim.apk |
Android 13 | release-arm-android13 | android13-x86-release | android13-arm-CtsShim.apk | android13-x86-CtsShim.apk |
Android 12 | release-arm-android12 | android12-x86-release | android12-arm-CtsShim.apk | android12-x86-CtsShim.apk |
Android 11 | release-arm-android11 | android11-x86-release | android11-arm-CtsShim.apk | android11-x86-CtsShim.apk |
Android 10 | versione-android10 | android10-arm-CtsShim.apk | android10-x86-CtsShim.apk | |
Android 9, O e O-MR1 | N/D | N/D | arm-CtsShim.apk | x86-CtsShim.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
Esegui il ripristino dei dati di fabbrica del dispositivo: Impostazioni > Backup e reimposta > Dati di fabbrica Reimposta.
Imposta l'inglese (Stati Uniti) come lingua del dispositivo: Impostazioni > Lingua e input > Lingua.
Se il dispositivo supporta la personalizzazione dei caratteri predefiniti, imposta il carattere predefinito Famiglia di caratteri da
sans-serif
aRoboto
(la famiglia di caratteri predefinita persans-serif
) utilizzati nelle build AOSP).Attiva la geolocalizzazione se è presente una rete GPS o Wi-Fi/mobile funzione sul dispositivo: Impostazioni > Posizione > Attivato.
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.
Assicurati che sul dispositivo non siano impostate una sequenza di blocco o una password: Impostazioni > Sicurezza > Blocco schermo > Nessuna.
Attiva il Debug USB sul tuo dispositivo: Impostazioni > Opzioni sviluppatore > Debug USB.
Per impostare l'ora nel formato 12 ore: Impostazioni > Data e tempo > Utilizza 24 ore formato > Disattivato.
Impostare il dispositivo in modo che rimanga attivo: Impostazioni > Opzioni sviluppatore > Rimani attivo > Attivato.
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.
In Android 4.2 o versioni successive, disattiva la verifica app USB: Impostazioni > Opzioni sviluppatore > Verifica le app tramite USB > Disattivato.
In Android 13 o versioni successive, imposta il dispositivo in modo che consenta il modem fittizio: Impostazioni > Opzioni sviluppatore > Consenti modem fittizio > Attivato.
Avvia il browser e chiudi tutte le schermate di avvio/configurazione.
Collega il computer desktop che verrà utilizzato per testare il dispositivo con una porta USB via cavo.
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.
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 cheandroid.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver
e qualsiasi gli altri amministratori di dispositivi precaricati rimangono disattivati.
Copia i file multimediali CTS sul dispositivo nel seguente modo:
- Vai al percorso (
cd
) in cui vengono scaricati i file multimediali. decompresso. Modifica le autorizzazioni dei file:
chmod u+x copy_media.sh
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
- Vai al percorso (