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. 

Costanti

String DISMISS_KEYGUARD_CMD

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

Costruttori pubblici

TestDevice(IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

Metodi pubblici

boolean canSwitchToHeadlessSystemUser()

Restituisce un valore che indica se è consentito passare all'utente di sistema headless.

boolean clearErrorDialogs()

Tenta di chiudere le finestre di dialogo di errore attualmente visualizzate nell'interfaccia utente del dispositivo.

int createUser(String name)

Crea un utente con un nome specificato e flag predefiniti 0.

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

Crea un utente con un nome specificato e i flag forniti

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

Crea un utente con un nome specificato e i flag forniti

int createUserNoThrow(String name)

Crea un utente con un nome specificato e flag predefiniti 0.

void disableKeyguard()

Tentativi di disattivare la protezione tasti.

boolean doesFileExist(String deviceFilePath, int userId)

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

boolean doesFileExist(String deviceFilePath)

Metodo helper per determinare se il file sul dispositivo esiste.

File dumpHeap(String process, String devicePath)

Prova a scaricare l'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 restituisci l'android-id associato a un userId, null se non trovato.

getAndroidIds()

Crea una mappa degli ID Android trovati che corrispondono agli ID utente.

PackageInfo getAppPackageInfo(String packageName)

Recupera 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 di piegatura del dispositivo o null se si sono verificati alcuni problemi.

int getCurrentUser()

Restituisce l'ID dell'utente attualmente in esecuzione.

getFoldableStates()

Restituisce l'elenco degli stati di piegatura sul dispositivo.

getInstalledPackageNames()

Recupera i nomi dei pacchetti delle applicazioni presenti sul dispositivo.

KeyguardControllerState getKeyguardState()

Restituisce un oggetto per ottenere lo stato attuale del keyguard o null se non è supportato.

Integer getMainUserId()

Restituisce l'ID utente principale.

getMainlineModuleInfo()

Recupera le informazioni sui moduli mainline installati sul dispositivo.

int getMaxNumberOfRunningUsersSupported()

Ottieni il numero massimo di utenti supportati in esecuzione simultanea.

int getMaxNumberOfUsersSupported()

Ottieni il numero massimo di utenti supportati.

Integer getPrimaryUserId()

Restituisce l'ID utente principale.

InputStreamSource getScreenshot(String format, boolean rescale)

Acquisisce uno screenshot dal dispositivo.

InputStreamSource getScreenshot(long displayId)

Acquisisce uno screenshot dal dispositivo dato l'ID display.

InputStreamSource getScreenshot(String format)

Acquisisce uno screenshot dal dispositivo.

InputStreamSource getScreenshot()

Acquisisce uno screenshot dal dispositivo.

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

Restituisce il valore dell'impostazione richiesta.

String getSetting(String namespace, String key)

Consulta getSetting(int, String, String) ed eseguita sull'utente di sistema.

getUninstallablePackageNames()

Recupera i nomi dei pacchetti dell'applicazione che possono essere disinstallati.

int getUserFlags(int userId)

Trova e restituisci i flag di un determinato utente.

getUserInfos()

Recupera la mappa di useId per UserInfo sul dispositivo.

int getUserSerialNumber(int userId)

Restituisce il numero di serie associato all'ID utente 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, File certFile, 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 installPackageForUser(File packageFile, boolean reinstall, int userId, String... extraArgs)

Installa un pacchetto Android sul dispositivo per un determinato utente.

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

Installa un pacchetto Android sul dispositivo per un determinato utente.

boolean installPackageWithIncrementalMode(File[] apkFiles, String[] extraArgs, String userId)

Installa APK con modalità incrementale.

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

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

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

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

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

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

boolean isAppEnumerationSupported()

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

boolean isHeadlessSystemUserMode()

Indica se il dispositivo utilizza la modalità headless system user.

boolean isMainUserPermanentAdmin()

Restituisce un valore che indica se l'utente principale è un amministratore permanente e non può essere eliminato o declassato a utente non amministratore.

boolean isMultiUserSupported()

Determina se è supportato l'utilizzo di più utenti.

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 l'app è attualmente installata o meno per quell'utente.

boolean isPackageInstalled(String packageName)

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

boolean isUserRunning(int userId)

Controlla se un determinato utente è in esecuzione.

boolean isUserSecondary(int userId)

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

boolean isUserVisible(int userId)

Verifica se l'utente specificato è visibile.

boolean isUserVisibleOnDisplay(int userId, int displayId)

Verifica se l'utente specificato è visibile nella visualizzazione indicata.

boolean isVisibleBackgroundUsersOnDefaultDisplaySupported()

Restituisce un valore che indica se il dispositivo consente agli utenti di avviare app visibili in background in ERROR(/java.android.view.Display#DEFAULT_DISPLAY).

boolean isVisibleBackgroundUsersSupported()

Restituisce un valore che indica se il dispositivo consente l'avvio visibile in background.

listDisplayIds()

Raccogli l'elenco degli ID display disponibili sul dispositivo come riportato da "dumpsys SurfaceFlinger".

listDisplayIdsForStartingVisibleBackgroundUsers()

Recupera l'elenco dei 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 helper 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 dopo l'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 in caso contrario.

void removeOwners()

Rimuovi tutti i proprietari dei profili dei dispositivi esistenti con il massimo impegno.

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 per un determinato utente.

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

Consulta setSetting(int, String, String, String) ed 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 arrestato.

boolean startUser(int userId, boolean waitFlag)

Avvia un determinato utente in background se è attualmente arrestato.

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

Avvia un determinato utente in background, visibile nel display specificato (ovvero, consente all'utente di avviare attività in quel display).

boolean stopUser(int userId)

Interrompe un determinato utente.

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

Interrompi un determinato utente.

boolean supportsMicrodroid()

Controlla i prerequisiti per eseguire un microdroid.

boolean supportsMicrodroid(boolean protectedVm)

Controlla le precondizioni per eseguire 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 fornito come scadenza.

Bugreport takeBugreport()

Prende una segnalazione di bug e la restituisce all'interno di un oggetto Bugreport per gestirla.

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 helper interno per ottenere il file ZIP bugreportz 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-avvio.

Costanti

DISMISS_KEYGUARD_CMD

public static final String DISMISS_KEYGUARD_CMD

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

Valore costante: "input keyevent 82"

Costruttori pubblici

TestDevice

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

Metodi pubblici

canSwitchToHeadlessSystemUser

public boolean canSwitchToHeadlessSystemUser ()

Restituisce un valore che indica se è consentito passare all'utente di sistema headless.

Ritorni
boolean

Lanci
DeviceNotAvailableException

clearErrorDialogs

public boolean clearErrorDialogs ()

Tenta di chiudere le finestre di dialogo di errore attualmente visualizzate nell'interfaccia utente del dispositivo.

Ritorni
boolean true se non erano presenti dialoghi o se sono stati cancellati correttamente. false altrimenti.

Lanci
DeviceNotAvailableException

createUser

public int createUser (String name)

Crea un utente con un nome specificato e flag predefiniti 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)

Crea un utente con un nome specificato e i flag forniti

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

createUser

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

Crea un utente con un nome specificato e i flag forniti

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

createUserNoThrow

public int createUserNoThrow (String name)

Crea un utente con un nome specificato e flag predefiniti 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 ()

Tentativi di disattivare la protezione tasti.

Innanzitutto, attendi che l'invio dell'input sia pronto. Ciò avviene all'incirca nello stesso momento in cui il dispositivo segnala BOOT_COMPLETE, apparentemente in modo asincrono, perché l'attuale implementazione del framework presenta occasionalmente una condizione di competizione. Il comando viene inviato per chiudere Keyguard (funziona solo su quelli non sicuri)

Lanci
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath, 
                int userId)

Metodo helper 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 rispetto al quale controllare l'esistenza del file

Ritorni
boolean true se il file esiste, false altrimenti.

Lanci
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath)

Metodo helper 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

dumpHeap

public File dumpHeap (String process, 
                String devicePath)

Prova a scaricare l'heap da system_server. È responsabilità del chiamante pulire il file di 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 posizione in cui le autorizzazioni lo consentono.

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 attivate 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 seguenti valori: {"system", "secure", "global"}

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

Lanci
DeviceNotAvailableException

getAndroidId

public String getAndroidId (int userId)

Trova e restituisce l'android-id 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 che corrispondono agli ID utente. Non è garantito che ogni ID utente trovi un ID Android associato in questa funzione, quindi alcuni ID utente potrebbero corrispondere a null.

Ritorni
Mappa degli ID Android trovati che corrispondono agli ID utente.

Lanci
DeviceNotAvailableException

getAppPackageInfo

public PackageInfo getAppPackageInfo (String packageName)

Recupera 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 installate sul dispositivo.

Lanci
DeviceNotAvailableException

getBugreport

public InputStreamSource getBugreport ()

Recupera una segnalazione di bug dal dispositivo.

L'implementazione di questa funzionalità è garantita per continuare 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 bug on demand. In caso di errore, InputStreamSource produrrà un ERROR(/InputStream) vuoto.

getBugreportz

public InputStreamSource getBugreportz ()

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

Supportato solo per "adb version" > 1.0.36

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

getCurrentFoldableState

public DeviceFoldableState getCurrentFoldableState ()

Restituisce lo stato attuale di piegatura del dispositivo o null se si sono verificati alcuni problemi.

Ritorni
DeviceFoldableState

Lanci
DeviceNotAvailableException

getCurrentUser

public int getCurrentUser ()

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

Ritorni
int

Lanci
DeviceNotAvailableException

getFoldableStates

public  getFoldableStates ()

Restituisce l'elenco degli stati di piegatura sul dispositivo. 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 nomi di pacchetto String attualmente installati sul dispositivo.

Lanci
DeviceNotAvailableException

getKeyguardState

public KeyguardControllerState getKeyguardState ()

Restituisce un oggetto per ottenere lo stato attuale del keyguard o null se non è supportato.

Ritorni
KeyguardControllerState un KeyguardControllerState contenente uno snapshot dello stato del Keyguard e restituisce Null se la query Keyguard non è supportata.

Lanci
DeviceNotAvailableException

getMainUserId

public Integer getMainUserId ()

Restituisce l'ID utente principale.

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

Lanci
DeviceNotAvailableException

getMainlineModuleInfo

public  getMainlineModuleInfo ()

Recupera le informazioni sui moduli mainline installati sul dispositivo.

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

Lanci
DeviceNotAvailableException

getMaxNumberOfRunningUsersSupported

public int getMaxNumberOfRunningUsersSupported ()

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

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

Lanci
DeviceNotAvailableException

getMaxNumberOfUsersSupported

public int getMaxNumberOfUsersSupported ()

Ottieni 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'ID utente dell'utente principale, se presente, e null in caso contrario.

Lanci
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format, 
                boolean rescale)

Acquisisce uno screenshot dal dispositivo. Consigliamo di utilizzare getScreenshot(String) con codifica JPEG per dimensioni più ridotte.

Parametri
format String: PNG, JPEG supportati

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

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

Lanci
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (long displayId)

Acquisisce uno screenshot dal dispositivo dato l'ID display. Il formato è PNG.

TODO: extend the implementations above to support 'format' and 'rescale'

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

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

Lanci
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format)

Acquisisce uno screenshot dal dispositivo. Consigliamo di utilizzare getScreenshot(format) con codifica JPEG per dimensioni più ridotte

Parametri
format String: PNG, JPEG supportati

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

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

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

getSetting

public String getSetting (String namespace, 
                String key)

Consulta getSetting(int, String, String) ed eseguita sull'utente di sistema.

Parametri
namespace String

key String

Ritorni
String

Lanci
DeviceNotAvailableException

getUninstallablePackageNames

public  getUninstallablePackageNames ()

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

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

Lanci
DeviceNotAvailableException

getUserFlags

public int getUserFlags (int userId)

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

Parametri
userId int

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

Lanci
DeviceNotAvailableException

getUserInfos

public  getUserInfos ()

Recupera la mappa di useId per UserInfo sul dispositivo. Genererà DeviceRuntimeException se l'output del dispositivo non è quello previsto.

Ritorni
l'elenco degli oggetti UserInfo.

Lanci
DeviceNotAvailableException

getUserSerialNumber

public int getUserSerialNumber (int userId)

Restituisce il numero di serie associato all'ID utente 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 cui 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 aggiuntivi facoltativi da passare. Per le opzioni disponibili, vedi "adb shell pm -h".

Ritorni
String un String con un codice di errore o null in caso di esito positivo.

Lanci
DeviceNotAvailableException

installPackage

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

Installa un pacchetto Android sul dispositivo.

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

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 aggiuntivi facoltativi da passare. Per le opzioni disponibili, vedi "adb shell pm -h".

Ritorni
String un String con un codice di errore o null in caso di esito positivo.

Lanci
DeviceNotAvailableException

installPackage

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

Installa un pacchetto Android sul dispositivo.

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

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 aggiuntivi facoltativi da passare. Per le opzioni disponibili, vedi "adb shell pm -h".

Ritorni
String un String con un codice di errore o null in caso di esito positivo.

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 da installare.

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

Ritorni
String un String con un codice di errore o null in caso di esito positivo.

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: chiama questa funzione solo i casi d'uso che richiedono il controllo esplicito della concessione dell'autorizzazione runtime al momento dell'installazione.

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 da installare.

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

Ritorni
String un String con un codice di errore o null in caso di esito positivo.

Lanci
DeviceNotAvailableException

installPackageWithIncrementalMode

public boolean installPackageWithIncrementalMode (File[] apkFiles, 
                String[] extraArgs, 
                String userId)

Installa APK con modalità incrementale.

Parametri
apkFiles File: i file APK da installare.

extraArgs String

userId String

Ritorni
boolean

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, 
                int userId, 
                String... extraArgs)

Parametri
packageFiles

reinstall boolean

userId int

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

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 ()

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

Ritorni
boolean Vero se l'enumerazione delle app è supportata, falso in caso contrario

Lanci
DeviceNotAvailableException

isHeadlessSystemUserMode

public boolean isHeadlessSystemUserMode ()

Indica se il dispositivo utilizza la modalità headless system user.

Ritorni
boolean

Lanci
DeviceNotAvailableException

isMainUserPermanentAdmin

public boolean isMainUserPermanentAdmin ()

Restituisce un valore che indica se l'utente principale è un amministratore permanente e non può essere eliminato o declassato a utente non amministratore.

Ritorni
boolean

Lanci
DeviceNotAvailableException

isMultiUserSupported

public boolean isMultiUserSupported ()

Determina se è supportato l'utilizzo di più utenti.

Ritorni
boolean true se è supportato più utenti, false in caso contrario

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 l'app è attualmente installata o meno per quell'utente.

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

userId String: l'ID utente per cui stiamo verificando che il pacchetto sia installato. Se è null, verrà utilizzato zero per l'utente principale.

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

Lanci
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName)

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

Parametri
packageName String

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

Lanci
DeviceNotAvailableException

isUserRunning

public boolean isUserRunning (int userId)

Controlla se un determinato utente è in esecuzione.

Parametri
userId int

Ritorni
boolean Vero se l'utente sta correndo, falso in tutti gli altri casi.

Lanci
DeviceNotAvailableException

isUserSecondary

public boolean isUserSecondary (int userId)

Restituisce un valore che indica 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)

Verifica se l'utente specificato è visibile.

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

Parametri
userId int

Ritorni
boolean

Lanci
DeviceNotAvailableException

isUserVisibleOnDisplay

public boolean isUserVisibleOnDisplay (int userId, 
                int displayId)

Verifica se l'utente specificato è visibile nella visualizzazione indicata.

Un utente "visibile" è un utente che interagisce con l'utente "umano" e quindi è in grado di avviare attività di avvio in quel display.

Parametri
userId int

displayId int

Ritorni
boolean

Lanci
DeviceNotAvailableException

isVisibleBackgroundUsersOnDefaultDisplaySupported

public boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

Restituisce un valore che indica se il dispositivo consente agli utenti di essere avviati in modo visibile in background in ERROR(/java.android.view.Display#DEFAULT_DISPLAY).

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

Ritorni
boolean

Lanci
DeviceNotAvailableException

isVisibleBackgroundUsersSupported

public boolean isVisibleBackgroundUsersSupported ()

Restituisce un valore che indica se il dispositivo consente l'avvio visibile in background.

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

Ritorni
boolean

Lanci
DeviceNotAvailableException

listDisplayIds

public  listDisplayIds ()

Raccogli l'elenco degli ID display disponibili sul dispositivo come riportato da "dumpsys SurfaceFlinger".

Ritorni
L'elenco dei display. Default restituisce sempre il display predefinito 0.

Lanci
DeviceNotAvailableException

listDisplayIdsForStartingVisibleBackgroundUsers

public  listDisplayIdsForStartingVisibleBackgroundUsers ()

Recupera l'elenco dei 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. Genererà DeviceRuntimeException se l'output del dispositivo non è quello previsto.

Ritorni
l'elenco degli ID utente.

Lanci
DeviceNotAvailableException

logBugreport

public boolean logBugreport (String dataName, 
                ITestLogger listener)

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

Parametri
dataName String: il nome con cui verrà segnalato il report bug.

listener ITestLogger: un ITestLogger per registrare la segnalazione di bug.

Ritorni
boolean Vero se la registrazione è riuscita, 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 dopo l'invocazione.

Parametri
exception Throwable: se presente, l'eccezione finale generata dall'errore di chiamata.

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 in caso contrario.

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

userId int: dell'utente in cui si trova 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 dei profili dei dispositivi esistenti con il massimo impegno.

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 la rimozione dell'utente è riuscita, 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 per un determinato utente.

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

userId int: dell'utente in cui vive 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)

Consulta setSetting(int, String, String, String) ed 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 arrestato. 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 arrestato. Se l'utente è già in esecuzione in background, questo metodo è un'operazione 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à l'avvio e lo sblocco dell'utente.

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 nel display specificato (ovvero, consente all'utente di avviare attività in quel display).

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 to start user visible on

waitFlag boolean: il comando attenderà l'avvio e lo sblocco dell'utente.

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

Lanci
DeviceNotAvailableException

stopUser

public boolean stopUser (int userId)

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

Parametri
userId int: dell'utente da arrestare.

Ritorni
boolean true se l'utente è stato interrotto.

Lanci
DeviceNotAvailableException

stopUser

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

Interrompi un determinato utente. È possibile fornire flag aggiuntivi per attendere che l'operazione abbia effetto e forzare la chiusura dell'utente. Impossibile interrompere l'utente corrente e l'utente di sistema.

Parametri
userId int: dell'utente da arrestare.

waitFlag boolean: il comando attende che l'utente si fermi.

forceFlag boolean: forzerà l'interruzione dell'utente.

Ritorni
boolean true se l'utente è stato interrotto.

Lanci
DeviceNotAvailableException

supportsMicrodroid

public boolean supportsMicrodroid ()

Controlla i prerequisiti per eseguire un microdroid.

Ritorni
boolean restituisce true se le precondizioni sono soddisfatte, false in caso contrario.

supportsMicrodroid

public boolean supportsMicrodroid (boolean protectedVm)

Controlla le precondizioni per eseguire un microdroid.

Parametri
protectedVm boolean: true se microdroid è destinato a essere eseguito su una VM protetta.

Ritorni
boolean restituisce true se le precondizioni sono soddisfatte, 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 Vero se il nuovo userId corrisponde al fornitore di userId. Falso negli altri casi.

Lanci
DeviceNotAvailableException

switchUser

public boolean switchUser (int userId, 
                long timeout)

Passa a un altro userId con il timeout fornito come scadenza. Tentativo di disattivare il keyguard dopo la modifica dell'utente.

Parametri
userId int

timeout long: per attendere prima di restituire false per il cambio utente non riuscito.

Ritorni
boolean Vero se il nuovo userId corrisponde al fornitore di userId. Falso negli altri casi.

Lanci
DeviceNotAvailableException

takeBugreport

public Bugreport takeBugreport ()

Prende una segnalazione di bug e la restituisce all'interno di un oggetto Bugreport per gestirla. Restituisce null in caso di problemi. Il file a cui viene fatto 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 in caso di esito positivo.

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 da disinstallare.

Ritorni
String un String con un codice di errore o null in caso di esito positivo.

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 helper interno per ottenere il file ZIP bugreportz 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-avvio.

Lanci
DeviceNotAvailableException