TestDevice

public class TestDevice
extends NativeDevice

java.lang.Object
   ↳ com.android.tradefed.device.NativeDevice
     ↳ com.android.tradefed.device.TestDevice


Implementazione di un ITestDevice per un dispositivo Android full stack

Riepilogo

Classi nidificate

class TestDevice.MicrodroidBuilder

Un builder utilizzato per creare un TestDevice Microdroid. 

Campi

public static final String DISMISS_KEYGUARD_CMD

Comandi che possono essere utilizzati per ignorare la schermata di blocco.

Costruttori pubblici

TestDevice(IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

Metodi pubblici

boolean canSwitchToHeadlessSystemUser()

Restituisce se è consentito passare all'utente di sistema senza testa.

boolean clearErrorDialogs()

Prova a chiudere le eventuali finestre di dialogo di errore attualmente visualizzate nell'interfaccia utente del dispositivo.

int createUser(String name)

Crea un utente con un nome e flag predefiniti pari a 0.

int createUser(String name, boolean guest, boolean ephemeral, boolean forTesting)

Crea un utente con un nome e gli indicatori specificati

int createUser(String name, boolean guest, boolean ephemeral)

Crea un utente con un nome e gli indicatori specificati

int createUserNoThrow(String name)

Crea un utente con un nome e flag predefiniti pari a 0.

void disableKeyguard()

Tenta di disattivare la schermata di blocco.

boolean doesFileExist(String deviceFilePath)

Metodo di supporto per determinare se il file sul dispositivo esiste.

boolean doesFileExist(String deviceFilePath, int userId)

Metodo di supporto per determinare se il file sul dispositivo esiste per un determinato utente.

File dumpHeap(String process, String devicePath)

Prova a eseguire il dump dell'heap da system_server.

getActiveApexes()

Recupera le informazioni sugli APEX attivati sul dispositivo.

getAllSettings(String namespace)

Restituisce le coppie chiave-valore dello spazio dei nomi richiesto.

String getAndroidId(int userId)

Trova e restituisce l'id Android associato a un userId, null se non trovato.

getAndroidIds()

Crea una mappa degli ID Android trovati corrispondenti agli ID utente.

PackageInfo getAppPackageInfo(String packageName)

Recupera le informazioni su un pacchetto installato sul dispositivo.

getAppPackageInfos()

Recupera le informazioni sui pacchetti installati sul dispositivo.

InputStreamSource getBugreport()

Recupera una segnalazione di bug dal dispositivo.

InputStreamSource getBugreportz()

Recupera un bugreportz dal dispositivo.

DeviceFoldableState getCurrentFoldableState()

Restituisce lo stato attuale del dispositivo pieghevole o null se si sono verificati problemi.

int getCurrentUser()

Restituisce l'ID dell'utente corrente in esecuzione.

getFoldableStates()

Restituisce l'elenco degli stati del dispositivo pieghevole.

getInstalledPackageNames()

Recupera i nomi dei pacchetti delle applicazioni presenti sul dispositivo.

KeyguardControllerState getKeyguardState()

Restituisce un oggetto per ottenere lo stato corrente della schermata di blocco o null se non supportato.

Integer getMainUserId()

Restituisce l'ID utente principale.

getMainlineModuleInfo()

Visualizza le informazioni sui moduli principali installati sul dispositivo.

int getMaxNumberOfRunningUsersSupported()

Ottieni il numero massimo di utenti supportati in esecuzione contemporaneamente.

int getMaxNumberOfUsersSupported()

Visualizza il numero massimo di utenti supportati.

Integer getPrimaryUserId()

Restituisce l'ID utente principale.

InputStreamSource getScreenshot()

Acquisisce uno screenshot dal dispositivo.

InputStreamSource getScreenshot(String format, boolean rescale)

Acquisisce uno screenshot dal dispositivo.

InputStreamSource getScreenshot(long displayId)

Acquisisce uno screenshot dal dispositivo specificato dall'ID immagine.

InputStreamSource getScreenshot(String format)

Acquisisce uno screenshot dal dispositivo.

String getSetting(String namespace, String key)

Vedi getSetting(int, String, String) e eseguita sull'utente di sistema.

String getSetting(int userId, String namespace, String key)

Restituisce il valore dell'impostazione richiesta.

getUninstallablePackageNames()

Recupera i nomi dei pacchetti di applicazioni che possono essere disinstallati.

int getUserFlags(int userId)

Trova e restituisci gli indicatori di un determinato utente.

getUserInfos()

Recupera la mappa di useId a UserInfo sul dispositivo.

int getUserSerialNumber(int userId)

Restituisce il numero di serie associato a userId, se trovato, -10000 in tutti gli altri casi.

boolean hasFeature(String feature)

Controllare se una funzionalità è disponibile su un dispositivo.

String installPackage(File packageFile, boolean reinstall, String... extraArgs)

Installa un pacchetto Android sul dispositivo.

String installPackage(File packageFile, boolean reinstall, boolean grantPermissions, String... extraArgs)

Installa un pacchetto Android sul dispositivo.

String installPackage(File packageFile, File certFile, boolean reinstall, String... extraArgs)

Installa un pacchetto Android sul dispositivo.

String installPackageForUser(File packageFile, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)

Installa un pacchetto Android sul dispositivo per un determinato utente.

String installPackageForUser(File packageFile, boolean reinstall, int userId, String... extraArgs)

Installa un pacchetto Android sul dispositivo per un determinato utente.

String installPackages( packageFiles, boolean reinstall, String... extraArgs)

String installPackages( packageFiles, boolean reinstall, boolean grantPermissions, String... extraArgs)

String installPackagesForUser( packageFiles, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)

String installPackagesForUser( packageFiles, boolean reinstall, int userId, String... extraArgs)

String installRemotePackages( remoteApkPaths, boolean reinstall, String... extraArgs)

String installRemotePackages( remoteApkPaths, boolean reinstall, boolean grantPermissions, String... extraArgs)

boolean isAppEnumerationSupported()

Verificare se la piattaforma sul dispositivo supporta l'enumerazione delle app

boolean isHeadlessSystemUserMode()

Restituisce se il dispositivo utilizza la modalità utente di sistema headless.

boolean isMainUserPermanentAdmin()

Restituisce se l'utente principale è un amministratore permanente e non può essere eliminato o sottoposto a downgrade allo stato di utente senza privilegi amministrativi.

boolean isMultiUserSupported()

Determina se il multiutente è supportato.

boolean isPackageInstalled(String packageName)

Esegui una query sul dispositivo per un determinato nome del pacchetto per verificare se è attualmente installato o meno.

boolean isPackageInstalled(String packageName, String userId)

Esegui una query sul dispositivo per un determinato nome del pacchetto e un determinato ID utente per verificare se è attualmente installato o meno per quell'utente.

boolean isUserRunning(int userId)

Verifica se un determinato utente è in esecuzione.

boolean isUserSecondary(int userId)

Restituisce se l'utente specificato è un utente secondario in base ai relativi flag.

boolean isUserVisible(int userId)

Controlla se l'utente specificato è visibile.

boolean isUserVisibleOnDisplay(int userId, int displayId)

Controlla se l'utente specificato è visibile nella visualizzazione specificata.

boolean isVisibleBackgroundUsersOnDefaultDisplaySupported()

Restituisce se il dispositivo consente agli utenti di essere avviati in background in ERROR(/java.android.view.Display#DEFAULT_DISPLAY).

boolean isVisibleBackgroundUsersSupported()

Restituisce se il dispositivo consente agli utenti di essere avviati in background.

listDisplayIds()

Raccogliere l'elenco degli ID display disponibili sul dispositivo, come indicato da "dumpsys SurfaceFlinger".

listDisplayIdsForStartingVisibleBackgroundUsers()

Recupera l'elenco di display che possono essere utilizzati per start a user visible in the background.

listUsers()

Recupera l'elenco degli utenti sul dispositivo.

boolean logBugreport(String dataName, ITestLogger listener)

Metodo di supporto per acquisire una segnalazione di bug e registrarla per i reporter.

void notifySnapuserd(SnapuserdWaitPhase waitPhase)
void postInvocationTearDown(Throwable exception)

Passaggi aggiuntivi per la pulizia richiesta specifica del dispositivo che verranno eseguiti al termine dell'invocazione.

boolean removeAdmin(String componentName, int userId)

Rimuovi l'amministratore del dispositivo specificato nell'utente specificato e restituisci true se l'operazione ha esito positivo, false altrimenti.

void removeOwners()

Rimuovi tutti i proprietari di profili dei dispositivi esistenti nel modo più semplice possibile.

boolean removeUser(int userId)

Rimuovere un determinato utente dal dispositivo.

boolean setDeviceOwner(String componentName, int userId)

Imposta un componente di amministrazione del dispositivo come proprietario del dispositivo in un determinato utente.

void setFirstBootloaderReboot()
void setSetting(String namespace, String key, String value)

Vedi setSetting(int, String, String, String) e eseguita sull'utente di sistema.

void setSetting(int userId, String namespace, String key, String value)

Aggiungi un valore di impostazione allo spazio dei nomi di un determinato utente.

void shutdownMicrodroid(ITestDevice microdroidDevice)

Arresta il dispositivo microdroid, se esistente.

boolean startUser(int userId)

Avvia un determinato utente in background se è attualmente fermo.

boolean startUser(int userId, boolean waitFlag)

Avvia un determinato utente in background se è attualmente fermo.

boolean startVisibleBackgroundUser(int userId, int displayId, boolean waitFlag)

Avvia un determinato utente in background, visibile nella visualizzazione in questione (ovvero consente all'utente di avviare attività in quella visualizzazione).

boolean stopUser(int userId, boolean waitFlag, boolean forceFlag)

Interrompere un determinato utente.

boolean stopUser(int userId)

Interrompe un determinato utente.

boolean supportsMicrodroid()

Controlla le condizioni preliminari per l'esecuzione di un microdroid.

boolean supportsMicrodroid(boolean protectedVm)

Controlla le condizioni preliminari per l'esecuzione di un microdroid.

boolean switchUser(int userId)

Passa a un altro userId con un timeout predefinito.

boolean switchUser(int userId, long timeout)

Passa a un altro userId con il timeout specificato come scadenza.

Bugreport takeBugreport()

Prende un report di bug e lo restituisce all'interno di un oggetto Bugreport per gestirlo.

String uninstallPackage(String packageName)

Disinstalla un pacchetto Android dal dispositivo.

String uninstallPackageForUser(String packageName, int userId)

Disinstalla un pacchetto Android dal dispositivo per un determinato utente.

void waitForSnapuserd(SnapuserdWaitPhase currentPhase)

Metodi protetti

AaptParser createParser(File appFile)
void doAdbReboot(NativeDevice.RebootMode rebootMode, String reason)

Esegui un riavvio ADB.

InputStreamSource getBugreportInternal()
File getBugreportzInternal()

Metodo di assistenza interno per ottenere il file ZIP del report del bug come ERROR(/File).

long getCheckNewUserSleep()

Esposto per i test.

long getHostCurrentTime()

Esposto per i test

void prePostBootSetup()

Consente a ogni tipo di dispositivo (AndroidNativeDevice, TestDevice) di eseguire l'override di questo metodo per una configurazione specifica post-boot.

Campi

DISMISS_KEYGUARD_CMD

public static final String DISMISS_KEYGUARD_CMD

Comandi che possono essere utilizzati per ignorare la schermata di blocco.

Costruttori pubblici

TestDevice

public TestDevice (IDevice device, 
                IDeviceStateMonitor stateMonitor, 
                IDeviceMonitor allocationMonitor)

Metodi pubblici

canSwitchToHeadlessSystemUser

public boolean canSwitchToHeadlessSystemUser ()

Restituisce se è consentito passare all'utente di sistema senza testa.

Ritorni
boolean

Lanci
DeviceNotAvailableException

clearErrorDialogs

public boolean clearErrorDialogs ()

Prova a chiudere le eventuali finestre di dialogo di errore attualmente visualizzate nell'interfaccia utente del dispositivo.

Ritorni
boolean true se non sono presenti finestre di dialogo o se queste sono state chiuse correttamente. false in caso contrario.

Lanci
DeviceNotAvailableException

createUser

public int createUser (String name)

Crea un utente con un nome e flag predefiniti pari a 0.

Parametri
name String: dell'utente da creare sul dispositivo

Ritorni
int L'intero per l'ID utente creato

Lanci
DeviceNotAvailableException

createUser

public int createUser (String name, 
                boolean guest, 
                boolean ephemeral, 
                boolean forTesting)

Crea un utente con un nome e gli indicatori specificati

Parametri
name String: dell'utente da creare sul dispositivo

guest boolean: attiva il flag utente --guest durante la creazione

ephemeral boolean: attiva il flag utente --ephemeral durante la creazione

forTesting boolean: attiva il flag di test --for-testing durante la creazione

Ritorni
int ID dell'utente creato

Lanci
DeviceNotAvailableException

createUser

public int createUser (String name, 
                boolean guest, 
                boolean ephemeral)

Crea un utente con un nome e gli indicatori specificati

Parametri
name String: dell'utente da creare sul dispositivo

guest boolean: attiva il flag utente --guest durante la creazione

ephemeral boolean: attiva il flag utente --ephemeral durante la creazione

Ritorni
int ID dell'utente creato

Lanci
DeviceNotAvailableException

createUserNoThrow

public int createUserNoThrow (String name)

Crea un utente con un nome e flag predefiniti pari a 0.

Parametri
name String: dell'utente da creare sul dispositivo

Ritorni
int L'intero per l'ID utente creato o -1 per errore.

Lanci
DeviceNotAvailableException

disableKeyguard

public void disableKeyguard ()

Tenta di disattivare la schermata di blocco.

Innanzitutto, attendi che l'invio di input sia pronto. Questo accade all'incirca nello stesso momento in cui il dispositivo segnala BOOT_COMPLETE, apparentemente in modo asincrono, perché l'implementazione attuale del framework presenta occasionalmente una condizione di gara. Viene quindi inviato il comando per chiudere la schermata di blocco (funziona solo su quelle non sicure)

Lanci
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath)

Metodo di supporto per determinare se il file sul dispositivo esiste.

Parametri
deviceFilePath String: il percorso assoluto del file sul dispositivo da controllare

Ritorni
boolean true se il file esiste, false altrimenti.

Lanci
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath, 
                int userId)

Metodo di supporto per determinare se il file sul dispositivo esiste per un determinato utente.

Parametri
deviceFilePath String: il percorso assoluto del file sul dispositivo da controllare

userId int: l'ID utente in base al quale verificare l'esistenza del file

Ritorni
boolean true se il file esiste, false altrimenti.

Lanci
DeviceNotAvailableException

dumpHeap

public File dumpHeap (String process, 
                String devicePath)

Prova a eseguire il dump dell'heap da system_server. È responsabilità del chiamante eliminare il file di cui è stato eseguito il dump.

Parametri
process String: il nome del processo del dispositivo su cui eseguire dumpheap.

devicePath String: il percorso sul dispositivo in cui inserire il dump. Deve trattarsi di una località in cui le autorizzazioni lo consentano.

Ritorni
File il ERROR(/File) contenente il report. Null se si è verificato un errore.

Lanci
DeviceNotAvailableException

getActiveApexes

public  getActiveApexes ()

Recupera le informazioni sugli APEX attivati sul dispositivo.

Ritorni
ERROR(/Set) di ApexInfo attualmente attivati sul dispositivo

Lanci
DeviceNotAvailableException

getAllSettings

public  getAllSettings (String namespace)

Restituisce le coppie chiave-valore dello spazio dei nomi richiesto.

Parametri
namespace String: deve essere uno dei valori {"system", "secure", "global"}

Ritorni
la mappa delle coppie chiave-valore. Valore nullo se lo spazio dei nomi non è supportato.

Lanci
DeviceNotAvailableException

getAndroidId

public String getAndroidId (int userId)

Trova e restituisce l'id Android associato a un userId, null se non trovato.

Parametri
userId int

Ritorni
String

Lanci
DeviceNotAvailableException

getAndroidIds

public  getAndroidIds ()

Crea una mappa degli ID Android trovati corrispondenti agli ID utente. Non è garantito che a ogni ID utente sia associato un ID Android in questa funzione, pertanto alcuni ID utente potrebbero corrispondere a null.

Ritorni
Mappa degli ID Android trovati corrispondenti agli ID utente.

Lanci
DeviceNotAvailableException

getAppPackageInfo

public PackageInfo getAppPackageInfo (String packageName)

Recupera le informazioni su un pacchetto installato sul dispositivo.

Parametri
packageName String

Ritorni
PackageInfo PackageInfo o null se non è stato possibile recuperare le informazioni

Lanci
DeviceNotAvailableException

getAppPackageInfos

public  getAppPackageInfos ()

Recupera le informazioni sui pacchetti installati sul dispositivo.

Ritorni
ERROR(/List) di PackageInfo installati sul dispositivo.

Lanci
DeviceNotAvailableException

getBugreport

public InputStreamSource getBugreport ()

Recupera una segnalazione di bug dal dispositivo.

L'implementazione di questa funzionalità continuerà a funzionare su un dispositivo senza scheda SD (o in cui la scheda SD non è ancora montata).

Ritorni
InputStreamSource Un InputStreamSource che produrrà i contenuti del report di bug su richiesta. In caso di errore, InputStreamSource produrrà un ERROR(/InputStream) vuoto.

getBugreportz

public InputStreamSource getBugreportz ()

Recupera un bugreportz dal dispositivo. Il file bugreport in formato ZIP contiene il file bugreport principale e altri file di log utili per il debug.

Supportato solo per "versione adb" > 1.0.36

Ritorni
InputStreamSource un InputStreamSource del file zip contenente il bugreportz, restituisce nullo in caso di errore.

getCurrentFoldableState

public DeviceFoldableState getCurrentFoldableState ()

Restituisce lo stato attuale del dispositivo pieghevole o null se si sono verificati problemi.

Ritorni
DeviceFoldableState

Lanci
DeviceNotAvailableException

getCurrentUser

public int getCurrentUser ()

Restituisce l'ID dell'utente corrente in esecuzione. In caso di errore, restituisce -10000.

Ritorni
int

Lanci
DeviceNotAvailableException

getFoldableStates

public  getFoldableStates ()

Restituisce l'elenco degli stati del dispositivo pieghevole. Può essere ottenuto con "cmd device_state print-states".

Ritorni

Lanci
DeviceNotAvailableException

getInstalledPackageNames

public  getInstalledPackageNames ()

Recupera i nomi dei pacchetti delle applicazioni presenti sul dispositivo.

Ritorni
ERROR(/Set) dei String nomi dei pacchetti attualmente installati sul dispositivo.

Lanci
DeviceNotAvailableException

getKeyguardState

public KeyguardControllerState getKeyguardState ()

Restituisce un oggetto per ottenere lo stato corrente della schermata di blocco o null se non supportato.

Ritorni
KeyguardControllerState un KeyguardControllerState contenente uno snapshot dello stato della schermata di blocco e restituisce Null se la query della schermata di blocco non è supportata.

Lanci
DeviceNotAvailableException

getMainUserId

public Integer getMainUserId ()

Restituisce l'ID utente principale.

Ritorni
Integer l'attributo userId dell'utente principale, se presente, e null se non è presente alcun utente principale.

Lanci
DeviceNotAvailableException

getMainlineModuleInfo

public  getMainlineModuleInfo ()

Visualizza le informazioni sui moduli principali installati sul dispositivo.

Ritorni
ERROR(/Set) dei String moduli principali attualmente installati sul dispositivo.

Lanci
DeviceNotAvailableException

getMaxNumberOfRunningUsersSupported

public int getMaxNumberOfRunningUsersSupported ()

Ottieni il numero massimo di utenti supportati in esecuzione contemporaneamente. Il valore predefinito è 0.

Ritorni
int un numero intero che indica il numero di utenti in esecuzione contemporaneamente

Lanci
DeviceNotAvailableException

getMaxNumberOfUsersSupported

public int getMaxNumberOfUsersSupported ()

Visualizza il numero massimo di utenti supportati. Il valore predefinito è 0.

Ritorni
int un numero intero che indica il numero di utenti supportati

Lanci
DeviceNotAvailableException

getPrimaryUserId

public Integer getPrimaryUserId ()

Restituisce l'ID utente principale.

Ritorni
Integer l'attributo userId dell'utente principale, se esistente, e null se non è presente alcun utente principale.

Lanci
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot ()

Acquisisce uno screenshot dal dispositivo.

Ritorni
InputStreamSource un InputStreamSource dello screenshot in formato png o null se lo screenshot non è andato a buon fine.

Lanci
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format, 
                boolean rescale)

Acquisisce uno screenshot dal dispositivo. Ti consigliamo di utilizzare getScreenshot(String) con la codifica JPEG per dimensioni inferiori.

Parametri
format String: supportati PNG, JPEG

rescale boolean: se lo screenshot deve essere ridimensionato per ridurre le dimensioni dell'immagine risultante

Ritorni
InputStreamSource un InputStreamSource dello screenshot in formato o null se lo screenshot non è andato a buon fine.

Lanci
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (long displayId)

Acquisisce uno screenshot dal dispositivo specificato dall'ID immagine. Il formato è PNG.

DA FARE: estendere le implementazioni precedenti per supportare "format" e "rescale"

Parametri
displayId long: l'ID visualizzatore della schermata da cui acquisire lo screenshot.

Ritorni
InputStreamSource un InputStreamSource dello screenshot in formato o null se lo screenshot non è andato a buon fine.

Lanci
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format)

Acquisisce uno screenshot dal dispositivo. Ti consigliamo di utilizzare getScreenshot(format) con codifica JPEG per dimensioni inferiori

Parametri
format String: supportati PNG, JPEG

Ritorni
InputStreamSource un InputStreamSource dello screenshot in formato o null se lo screenshot non è andato a buon fine.

Lanci
DeviceNotAvailableException

getSetting

public String getSetting (String namespace, 
                String key)

Vedi getSetting(int, String, String) e eseguita sull'utente di sistema.

Parametri
namespace String

key String

Ritorni
String

Lanci
DeviceNotAvailableException

getSetting

public String getSetting (int userId, 
                String namespace, 
                String key)

Restituisce il valore dell'impostazione richiesta. Lo spazio dei nomi deve essere uno dei seguenti: {"system", "secure", "global"}

Parametri
userId int

namespace String

key String

Ritorni
String Il valore associato a namespace:key di un utente. Null se non trovato.

Lanci
DeviceNotAvailableException

getUninstallablePackageNames

public  getUninstallablePackageNames ()

Recupera i nomi dei pacchetti di applicazioni che possono essere disinstallati. Attualmente sono definiti come pacchetti non di sistema e pacchetti di sistema aggiornati.

Ritorni
ERROR(/Set) di nomi di pacchetti String non disinstallabili attualmente installati sul dispositivo.

Lanci
DeviceNotAvailableException

getUserFlags

public int getUserFlags (int userId)

Trova e restituisci gli indicatori di un determinato utente. I flag sono definiti nella classe "android.content.pm.UserInfo" in Android Open Source Project.

Parametri
userId int

Ritorni
int gli indicatori associati all'ID utente fornito, se trovato, -10000 in tutti gli altri casi.

Lanci
DeviceNotAvailableException

getUserInfos

public  getUserInfos ()

Recupera la mappa di useId a UserInfo sul dispositivo. Viene generato DeviceRuntimeException se l'output del dispositivo non è quello previsto.

Ritorni
l'elenco di oggetti UserInfo.

Lanci
DeviceNotAvailableException

getUserSerialNumber

public int getUserSerialNumber (int userId)

Restituisce il numero di serie associato a userId, se trovato, -10000 in tutti gli altri casi.

Parametri
userId int

Ritorni
int

Lanci
DeviceNotAvailableException

hasFeature

public boolean hasFeature (String feature)

Controllare se una funzionalità è disponibile su un dispositivo.

Parametri
feature String: il formato deve essere "feature:" o "" direttamente.

Ritorni
boolean Vero se la funzionalità viene trovata, falso in caso contrario.

Lanci
DeviceNotAvailableException

installPackage

public String installPackage (File packageFile, 
                boolean reinstall, 
                String... extraArgs)

Installa un pacchetto Android sul dispositivo.

Parametri
packageFile File: il file APK da installare

reinstall boolean: true se deve essere eseguita una reinstallazione

extraArgs String: argomenti extra facoltativi da passare. Per le opzioni disponibili, consulta "adb shell pm -h".

Ritorni
String un String con un codice di errore o null se l'operazione è riuscita.

Lanci
DeviceNotAvailableException

installPackage

public String installPackage (File packageFile, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

Installa un pacchetto Android sul dispositivo.

Nota: solo i casi d'uso che richiedono il controllo esplicito della concessione dell'autorizzazione di runtime al momento dell'installazione devono chiamare questa funzione.

Parametri
packageFile File: il file APK da installare

reinstall boolean: true se deve essere eseguita una reinstallazione

grantPermissions boolean: se tutte le autorizzazioni di runtime devono essere concesse al momento dell'installazione

extraArgs String: argomenti extra facoltativi da passare. Per le opzioni disponibili, consulta "adb shell pm -h".

Ritorni
String un String con un codice di errore o null se l'operazione è riuscita.

Lanci
DeviceNotAvailableException

installPackage

public String installPackage (File packageFile, 
                File certFile, 
                boolean reinstall, 
                String... extraArgs)

Installa un pacchetto Android sul dispositivo.

Nota: solo i casi d'uso che richiedono il controllo esplicito della concessione dell'autorizzazione di runtime al momento dell'installazione devono chiamare questa funzione.

Parametri
packageFile File: il file APK da installare

certFile File: true se deve essere eseguita una reinstallazione

reinstall boolean: se tutte le autorizzazioni di runtime devono essere concesse al momento dell'installazione

extraArgs String: argomenti extra facoltativi da passare. Per le opzioni disponibili, consulta "adb shell pm -h".

Ritorni
String un String con un codice di errore o null se l'operazione è riuscita.

Lanci
DeviceNotAvailableException

installPackageForUser

public String installPackageForUser (File packageFile, 
                boolean reinstall, 
                boolean grantPermissions, 
                int userId, 
                String... extraArgs)

Installa un pacchetto Android sul dispositivo per un determinato utente.

Nota: solo i casi d'uso che richiedono il controllo esplicito della concessione dell'autorizzazione di runtime al momento dell'installazione devono chiamare questa funzione.

Parametri
packageFile File: il file APK da installare

reinstall boolean: true se deve essere eseguita una reinstallazione

grantPermissions boolean: se tutte le autorizzazioni di runtime devono essere concesse al momento dell'installazione

userId int: l'ID utente intero per cui eseguire l'installazione.

extraArgs String: argomenti extra facoltativi da passare. Per le opzioni disponibili, consulta "adb shell pm -h".

Ritorni
String un String con un codice di errore o null se l'operazione è riuscita.

Lanci
DeviceNotAvailableException

installPackageForUser

public String installPackageForUser (File packageFile, 
                boolean reinstall, 
                int userId, 
                String... extraArgs)

Installa un pacchetto Android sul dispositivo per un determinato utente.

Parametri
packageFile File: il file APK da installare

reinstall boolean: true se deve essere eseguita una reinstallazione

userId int: l'ID utente intero per cui eseguire l'installazione.

extraArgs String: argomenti extra facoltativi da passare. Per le opzioni disponibili, consulta "adb shell pm -h".

Ritorni
String un String con un codice di errore o null se l'operazione è riuscita.

Lanci
DeviceNotAvailableException

installPackages

public String installPackages ( packageFiles, 
                boolean reinstall, 
                String... extraArgs)

Parametri
packageFiles

reinstall boolean

extraArgs String

Ritorni
String

Lanci
DeviceNotAvailableException

installPackages

public String installPackages ( packageFiles, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

Parametri
packageFiles

reinstall boolean

grantPermissions boolean

extraArgs String

Ritorni
String

Lanci
DeviceNotAvailableException

installPackagesForUser

public String installPackagesForUser ( packageFiles, 
                boolean reinstall, 
                boolean grantPermissions, 
                int userId, 
                String... extraArgs)

Parametri
packageFiles

reinstall boolean

grantPermissions boolean

userId int

extraArgs String

Ritorni
String

Lanci
DeviceNotAvailableException

installPackagesForUser

public String installPackagesForUser ( packageFiles, 
                boolean reinstall, 
                int userId, 
                String... extraArgs)

Parametri
packageFiles

reinstall boolean

userId int

extraArgs String

Ritorni
String

Lanci
DeviceNotAvailableException

installRemotePackages

public String installRemotePackages ( remoteApkPaths, 
                boolean reinstall, 
                String... extraArgs)

Parametri
remoteApkPaths

reinstall boolean

extraArgs String

Ritorni
String

Lanci
DeviceNotAvailableException

installRemotePackages

public String installRemotePackages ( remoteApkPaths, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

Parametri
remoteApkPaths

reinstall boolean

grantPermissions boolean

extraArgs String

Ritorni
String

Lanci
DeviceNotAvailableException

isAppEnumerationSupported

public boolean isAppEnumerationSupported ()

Verificare se la piattaforma sul dispositivo supporta l'enumerazione delle app

Ritorni
boolean True se l'enumerazione delle app è supportata, false in caso contrario

Lanci
DeviceNotAvailableException

isHeadlessSystemUserMode

public boolean isHeadlessSystemUserMode ()

Restituisce se il dispositivo utilizza la modalità utente di sistema headless.

Ritorni
boolean

Lanci
DeviceNotAvailableException

isMainUserPermanentAdmin

public boolean isMainUserPermanentAdmin ()

Restituisce se l'utente principale è un amministratore permanente e non può essere eliminato o sottoposto a downgrade allo stato di utente senza privilegi amministrativi.

Ritorni
boolean

Lanci
DeviceNotAvailableException

isMultiUserSupported

public boolean isMultiUserSupported ()

Determina se il multiutente è supportato.

Ritorni
boolean true se è supportato il multiutente, false in caso contrario

Lanci
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName)

Esegui una query sul dispositivo per un determinato nome del pacchetto per verificare se è attualmente installato o meno.

Parametri
packageName String

Ritorni
boolean True se il pacchetto è segnalato come installato. Falso negli altri casi.

Lanci
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName, 
                String userId)

Esegui una query sul dispositivo per un determinato nome del pacchetto e un determinato ID utente per verificare se è attualmente installato o meno per quell'utente.

Parametri
packageName String: il pacchetto di cui stiamo controllando l'installazione.

userId String: l'ID utente per cui stiamo controllando l'installazione del pacchetto. Se è null, verrà utilizzato un valore di zero per l'utente principale.

Ritorni
boolean True se il pacchetto è segnalato come installato. Falso negli altri casi.

Lanci
DeviceNotAvailableException

isUserRunning

public boolean isUserRunning (int userId)

Verifica se un determinato utente è in esecuzione.

Parametri
userId int

Ritorni
boolean True se l'utente è in esecuzione, false in tutti gli altri casi.

Lanci
DeviceNotAvailableException

isUserSecondary

public boolean isUserSecondary (int userId)

Restituisce se l'utente specificato è un utente secondario in base ai relativi flag.

Parametri
userId int

Ritorni
boolean true se l'utente è secondario, false in caso contrario.

Lanci
DeviceNotAvailableException

isUserVisible

public boolean isUserVisible (int userId)

Controlla se l'utente specificato è visibile.

Un utente "visibile" è un utente che interagisce con l'utente "umano" e quindi è in grado di avviare attività di lancio (in genere nella visualizzazione predefinita).

Parametri
userId int

Ritorni
boolean

Lanci
DeviceNotAvailableException

isUserVisibleOnDisplay

public boolean isUserVisibleOnDisplay (int userId, 
                int displayId)

Controlla se l'utente specificato è visibile nella visualizzazione specificata.

Un utente "visibile" è un utente che interagisce con l'utente "umano" e quindi è in grado di avviare attività di lancio in quella visualizzazione.

Parametri
userId int

displayId int

Ritorni
boolean

Lanci
DeviceNotAvailableException

isVisibleBackgroundUsersOnDefaultDisplaySupported

public boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

Restituisce se il dispositivo consente agli utenti di essere avviati in background in ERROR(/java.android.view.Display#DEFAULT_DISPLAY).

In questo caso, puoi chiamare startVisibleBackgroundUser(int, int, boolean), passando un display restituito da listDisplayIdsForStartingVisibleBackgroundUsers() (che deve includere ERROR(/java.android.view.Display#DEFAULT_DISPLAY)).

Ritorni
boolean

Lanci
DeviceNotAvailableException

isVisibleBackgroundUsersSupported

public boolean isVisibleBackgroundUsersSupported ()

Restituisce se il dispositivo consente agli utenti di essere avviati in background.

In questo caso, puoi chiamare startVisibleBackgroundUser(int, int, boolean), passando un visualizzatore restituito da listDisplayIdsForStartingVisibleBackgroundUsers().

Ritorni
boolean

Lanci
DeviceNotAvailableException

listDisplayIds

public  listDisplayIds ()

Raccogliere l'elenco degli ID display disponibili sul dispositivo, come indicato da "dumpsys SurfaceFlinger".

Ritorni
L'elenco delle visualizzazioni. Il valore predefinito restituisce sempre il valore visualizzato predefinito 0.

Lanci
DeviceNotAvailableException

listDisplayIdsForStartingVisibleBackgroundUsers

public  listDisplayIdsForStartingVisibleBackgroundUsers ()

Recupera l'elenco di display che possono essere utilizzati per start a user visible in the background.

Ritorni

Lanci
DeviceNotAvailableException

listUsers

public  listUsers ()

Recupera l'elenco degli utenti sul dispositivo. Viene generato DeviceRuntimeException se l'output del dispositivo non è come previsto.

Ritorni
l'elenco degli ID utente.

Lanci
DeviceNotAvailableException

logBugreport

public boolean logBugreport (String dataName, 
                ITestLogger listener)

Metodo di supporto per acquisire una segnalazione di bug e registrarla per i reporter.

Parametri
dataName String: il nome con cui verrà segnalata la segnalazione di bug.

listener ITestLogger: un ITestLogger per registrare il report di bug.

Ritorni
boolean Vero se il logging è riuscito, falso in caso contrario.

notifySnapuserd

public void notifySnapuserd (SnapuserdWaitPhase waitPhase)

Parametri
waitPhase SnapuserdWaitPhase

postInvocationTearDown

public void postInvocationTearDown (Throwable exception)

Passaggi aggiuntivi per la pulizia richiesta specifica del dispositivo che verranno eseguiti al termine dell'invocazione.

Parametri
exception Throwable: se presente, l'eccezione finale sollevata dal fallimento dell'invocazione.

removeAdmin

public boolean removeAdmin (String componentName, 
                int userId)

Rimuovi l'amministratore del dispositivo specificato nell'utente specificato e restituisci true se l'operazione ha esito positivo, false altrimenti.

Parametri
componentName String: dell'amministratore del dispositivo da rimuovere.

userId int: paese in cui risiede l'amministratore del dispositivo.

Ritorni
boolean Vero se l'operazione è riuscita, falso in caso contrario.

Lanci
DeviceNotAvailableException

removeOwners

public void removeOwners ()

Rimuovi tutti i proprietari di profili dei dispositivi esistenti nel modo più semplice possibile.

Lanci
DeviceNotAvailableException

removeUser

public boolean removeUser (int userId)

Rimuovere un determinato utente dal dispositivo.

Parametri
userId int: dell'utente da rimuovere

Ritorni
boolean true se è stato possibile rimuovere l'utente, false in caso contrario.

Lanci
DeviceNotAvailableException

setDeviceOwner

public boolean setDeviceOwner (String componentName, 
                int userId)

Imposta un componente di amministrazione del dispositivo come proprietario del dispositivo in un determinato utente.

Parametri
componentName String: dell'amministratore del dispositivo per essere il proprietario del dispositivo.

userId int: dell'utente in cui risiede il proprietario del dispositivo.

Ritorni
boolean Vero se l'operazione è riuscita, falso in caso contrario.

Lanci
DeviceNotAvailableException

setFirstBootloaderReboot

public void setFirstBootloaderReboot ()

setSetting

public void setSetting (String namespace, 
                String key, 
                String value)

Vedi setSetting(int, String, String, String) e eseguita sull'utente di sistema.

Parametri
namespace String

key String

value String

Lanci
DeviceNotAvailableException

setSetting

public void setSetting (int userId, 
                String namespace, 
                String key, 
                String value)

Aggiungi un valore di impostazione allo spazio dei nomi di un determinato utente. Alcune impostazioni saranno disponibili solo dopo un riavvio. Lo spazio dei nomi deve essere uno dei seguenti: {"system", "secure", "global"}

Parametri
userId int

namespace String

key String

value String

Lanci
DeviceNotAvailableException

shutdownMicrodroid

public void shutdownMicrodroid (ITestDevice microdroidDevice)

Arresta il dispositivo microdroid, se esistente.

Parametri
microdroidDevice ITestDevice

Lanci
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

startUser

public boolean startUser (int userId)

Avvia un determinato utente in background se è attualmente fermo. Se l'utente è già in esecuzione in background, questo metodo è un NOOP.

Parametri
userId int: dell'utente da avviare in background

Ritorni
boolean true se l'utente è stato avviato correttamente in background.

Lanci
DeviceNotAvailableException

startUser

public boolean startUser (int userId, 
                boolean waitFlag)

Avvia un determinato utente in background se è attualmente fermo. Se l'utente è già in esecuzione in background, questo metodo è un NOOP. È possibile fornire un flag aggiuntivo per attendere che l'operazione abbia effetto.

Parametri
userId int: dell'utente da avviare in background

waitFlag boolean: il comando attenderà che l'utente venga avviato e sbloccato.

Ritorni
boolean true se l'utente è stato avviato correttamente in background.

Lanci
DeviceNotAvailableException

startVisibleBackgroundUser

public boolean startVisibleBackgroundUser (int userId, 
                int displayId, 
                boolean waitFlag)

Avvia un determinato utente in background, visibile nella visualizzazione in questione (ovvero consente all'utente di avviare attività in quella visualizzazione).

NOTA : questo comando non verifica se l'utente esiste, se la visualizzazione è disponibile, device supports such feature e così via.

Parametri
userId int: dell'utente da avviare in background

displayId int: display su cui iniziare a mostrare l'utente

waitFlag boolean: il comando attenderà che l'utente venga avviato e sbloccato.

Ritorni
boolean true se l'utente è stato avviato correttamente e visualizzato in background.

Lanci
DeviceNotAvailableException

stopUser

public boolean stopUser (int userId, 
                boolean waitFlag, 
                boolean forceFlag)

Interrompere un determinato utente. È possibile fornire flag aggiuntivi per attendere l'applicazione dell'operazione e forzare l'interruzione dell'utente. Impossibile interrompere l'utente corrente e quello di sistema.

Parametri
userId int: dell'utente per interrompere.

waitFlag boolean: il comando attenderà finché l'utente non si fermerà.

forceFlag boolean: l'utente verrà interrotto forzatamente.

Ritorni
boolean true se l'utente è stato interrotto correttamente.

Lanci
DeviceNotAvailableException

stopUser

public boolean stopUser (int userId)

Interrompe un determinato utente. Se l'utente è già fermo, questo metodo è un NOOP. Impossibile interrompere l'utente corrente e quello di sistema.

Parametri
userId int: dell'utente per interrompere.

Ritorni
boolean true se l'utente è stato interrotto correttamente.

Lanci
DeviceNotAvailableException

supportaMicrodroid

public boolean supportsMicrodroid ()

Controlla le condizioni preliminari per l'esecuzione di un microdroid.

Ritorni
boolean Restituisce true se i prerequisiti sono soddisfatti, false in caso contrario.

supportaMicrodroid

public boolean supportsMicrodroid (boolean protectedVm)

Controlla le condizioni preliminari per l'esecuzione di un microdroid.

Parametri
protectedVm boolean: true se microdroid deve essere eseguito su una VM protetta.

Ritorni
boolean Restituisce true se i prerequisiti sono soddisfatti, false in caso contrario.

switchUser

public boolean switchUser (int userId)

Passa a un altro userId con un timeout predefinito. switchUser(int, long).

Parametri
userId int

Ritorni
boolean True se il nuovo userId corrisponde al provider userId. Falso negli altri casi.

Lanci
DeviceNotAvailableException

switchUser

public boolean switchUser (int userId, 
                long timeout)

Passa a un altro userId con il timeout specificato come scadenza. Tenta di disattivare la schermata di blocco dopo la modifica dell'utente.

Parametri
userId int

timeout long: l'attesa prima di restituire false per switch-user non è riuscita.

Ritorni
boolean True se il nuovo userId corrisponde al provider userId. Falso negli altri casi.

Lanci
DeviceNotAvailableException

takeBugreport

public Bugreport takeBugreport ()

Prende un report di bug e lo restituisce all'interno di un oggetto Bugreport per gestirlo. Restituisce null in caso di problemi. Il file a cui si fa riferimento nell'oggetto Bugreport deve essere pulito tramite Bugreport.close().

Ritorni
Bugreport

uninstallPackage

public String uninstallPackage (String packageName)

Disinstalla un pacchetto Android dal dispositivo.

Parametri
packageName String: il pacchetto Android da disinstallare

Ritorni
String un String con un codice di errore o null se l'operazione è riuscita.

Lanci
DeviceNotAvailableException

uninstallPackageForUser

public String uninstallPackageForUser (String packageName, 
                int userId)

Disinstalla un pacchetto Android dal dispositivo per un determinato utente.

Parametri
packageName String: il pacchetto Android da disinstallare

userId int: l'ID utente intero per cui eseguire la disinstallazione.

Ritorni
String un String con un codice di errore o null se l'operazione è riuscita.

Lanci
DeviceNotAvailableException

waitForSnapuserd

public void waitForSnapuserd (SnapuserdWaitPhase currentPhase)

Parametri
currentPhase SnapuserdWaitPhase

Lanci
DeviceNotAvailableException

Metodi protetti

createParser

protected AaptParser createParser (File appFile)

Parametri
appFile File

Ritorni
AaptParser

doAdbReboot

protected void doAdbReboot (NativeDevice.RebootMode rebootMode, 
                String reason)

Esegui un riavvio ADB.

Parametri
rebootMode NativeDevice.RebootMode: una modalità di questo riavvio.

reason String: per questo riavvio.

Lanci
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getBugreportInternal

protected InputStreamSource getBugreportInternal ()

Ritorni
InputStreamSource

getBugreportzInternal

protected File getBugreportzInternal ()

Metodo di assistenza interno per ottenere il file ZIP del report di bug come ERROR(/File).

Ritorni
File

getCheckNewUserSleep

protected long getCheckNewUserSleep ()

Esposto per i test.

Ritorni
long

getHostCurrentTime

protected long getHostCurrentTime ()

Esposto per i test

Ritorni
long

prePostBootSetup

protected void prePostBootSetup ()

Consente a ogni tipo di dispositivo (AndroidNativeDevice, TestDevice) di eseguire l'override di questo metodo per una configurazione specifica post-boot.

Lanci
DeviceNotAvailableException