Dispositivo di test

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 Microdroid TestDevice. 

Campi

public static final String DISMISS_KEYGUARD_CMD

Comandi utilizzabili per ignorare il blocco tastiera.

Costruttori pubblici

TestDevice(IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

Metodi pubblici

boolean canSwitchToHeadlessSystemUser()

Indica se è consentito passare all'utente SYSTEM headless.

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 determinato nome e flag predefiniti pari a 0.

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

Crea un utente con un determinato nome e i flag forniti

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

Crea un utente con un determinato nome e i flag forniti

int createUserNoThrow(String name)

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

void disableKeyguard()

Tenta di disattivare il blocco della tastiera.

boolean doesFileExist(String deviceFilePath)

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

boolean doesFileExist(String deviceFilePath, int userId)

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

File dumpHeap(String process, String devicePath)

Tenta di eseguire il dump dell'heap da system_server.

getActiveApexes()

Recupera le informazioni sugli APEX attivati sul dispositivo.

getAllSettings(String namespace)

Restituisce 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 con ID utente corrispondenti.

PackageInfo getAppPackageInfo(String packageName)

Recupera informazioni su un pacchetto installato sul dispositivo.

getAppPackageInfos()

Recupera informazioni sui pacchetti installati sul dispositivo.

InputStreamSource getBugreport()

Recupera una segnalazione di bug dal dispositivo.

InputStreamSource getBugreportz()

Recupera una segnalazione di bug dal dispositivo.

DeviceFoldableState getCurrentFoldableState()

Restituisce l'attuale stato pieghevole del dispositivo o nullo se si sono verificati alcuni problemi.

int getCurrentUser()

Restituisce l'ID dell'utente corrente in esecuzione.

getFoldableStates()

Restituisce l'elenco di stati pieghevoli sul dispositivo.

getInstalledPackageNames()

Recupera i nomi dei pacchetti dell'applicazione presenti sul dispositivo.

KeyguardControllerState getKeyguardState()

Restituisci un oggetto per ottenere lo stato attuale del blocco della tastiera o null se non supportato.

Integer getMainUserId()

Restituisce l'ID utente principale.

getMainlineModuleInfo()

Recupera le informazioni sui moduli di linea principali installati sul dispositivo.

int getMaxNumberOfRunningUsersSupported()

Ottieni il numero massimo di utenti supportati in esecuzione contemporaneamente.

int getMaxNumberOfUsersSupported()

Ottieni 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(String format)

Acquisisce uno screenshot dal dispositivo.

InputStreamSource getScreenshot(long displayId)

Recupera uno screenshot dall'ID display del dispositivo specificato.

String getSetting(String namespace, String key)

Vedi getSetting(int, String, String) ed eseguita sull'utente del sistema.

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

Restituisce il valore dell'impostazione richiesta.

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 allo userId, se trovato, -10000 in tutti gli altri casi.

boolean hasFeature(String feature)

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

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

Installa un pacchetto Android sul dispositivo di 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()

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

boolean isHeadlessSystemUserMode()

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

boolean isMainUserPermanentAdmin()

Indica se l'utente principale è un amministratore permanente e non può essere eliminato o eseguito il downgrade a non amministratore.

boolean isMultiUserSupported()

Determina se la funzionalità multiutente è supportata.

boolean isPackageInstalled(String packageName)

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

boolean isPackageInstalled(String packageName, String userId)

Esegui una query sul dispositivo per trovare un dato nome pacchetto e un dato ID utente per verificare se al momento installato o meno per quell'utente.

boolean isUserRunning(int userId)

Verificare se un determinato utente è in esecuzione.

boolean isUserSecondary(int userId)

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

boolean isUserVisible(int userId)

Controlla se l'utente specificato è visibile.

boolean isUserVisibleOnDisplay(int userId, int displayId)

Controlla se l'utente è visibile sul display specificato.

boolean isVisibleBackgroundUsersOnDefaultDisplaySupported()

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

boolean isVisibleBackgroundUsersSupported()

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

listDisplayIds()

Raccogli l'elenco degli ID dei display disponibili sul dispositivo segnalato 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 di utenti presenti sul dispositivo.

boolean logBugreport(String dataName, ITestLogger listener)

Metodo di supporto per inviare una segnalazione di bug e registrarla agli autori di segnalazioni.

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

Passaggi aggiuntivi per la pulizia specifica del dispositivo che verranno eseguiti dopo la chiamata al termine dell'operazione.

boolean removeAdmin(String componentName, int userId)

Rimuovi l'amministratore del dispositivo specificato per l'utente e restituisci true se l'operazione ha esito positivo, false in caso contrario.

void removeOwners()

Rimuovi tutti i proprietari di profili esistenti del dispositivo 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 in un determinato utente.

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

Vedi setSetting(int, String, String, String) ed eseguita sull'utente del 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 microdroide, se presente.

boolean startUser(int userId)

Avvia un determinato utente in background se al momento è arrestato.

boolean startUser(int userId, boolean waitFlag)

Avvia un determinato utente in background se al momento è arrestato.

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

Avvia un determinato utente in background, visibile sul display specificato (ad esempio, consentendo all'utente per avviare attività in quel display).

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

Interrompere un determinato utente.

boolean stopUser(int userId)

Arresta un determinato utente.

boolean supportsMicrodroid()

Controlla le condizioni preliminari per eseguire un microdroide.

boolean supportsMicrodroid(boolean protectedVm)

Controlla le condizioni preliminari per eseguire un microdroide.

boolean switchUser(int userId)

Passa a un altro ID utente con un timeout predefinito.

boolean switchUser(int userId, long timeout)

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

Bugreport takeBugreport()

Prendi una segnalazione di bug e restituila 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 di helper interno per ottenere il file ZIP bugreportz come ERROR(/File).

long getCheckNewUserSleep()

Esposizione per i test.

long getHostCurrentTime()

Esposizione per i test

void prePostBootSetup()

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

Campi

DISMISS_KEYGUARD_CMD

public static final String DISMISS_KEYGUARD_CMD

Comandi utilizzabili per ignorare il blocco tastiera.

Costruttori pubblici

Dispositivo di test

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

Metodi pubblici

CANNOT TRANSLATE

public boolean canSwitchToHeadlessSystemUser ()

Indica se è consentito passare all'utente SYSTEM headless.

Ritorni
boolean

Lanci
DeviceNotAvailableException

Finestra di dialogo di errore

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 erano presenti finestre di dialogo o se sono state cancellate correttamente. false in caso contrario.

Lanci
DeviceNotAvailableException

CreaUtente

public int createUser (String name)

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

Parametri
name String: dell'utente da creare sul dispositivo

Ritorni
int Il numero intero per l'ID utente creato

Lanci
DeviceNotAvailableException

CreaUtente

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

Crea un utente con un determinato nome 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: abilita il flag utente --temporaneo durante la creazione

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

Ritorni
int ID dell'utente creato

Lanci
DeviceNotAvailableException

CreaUtente

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

Crea un utente con un determinato nome 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: abilita il flag utente --temporaneo durante la creazione

Ritorni
int ID dell'utente creato

Lanci
DeviceNotAvailableException

CreaUtenteNoThrow

public int createUserNoThrow (String name)

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

Parametri
name String: dell'utente da creare sul dispositivo

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

Lanci
DeviceNotAvailableException

disattiva KeyGuard

public void disableKeyguard ()

Tenta di disattivare il blocco della tastiera.

Prima di tutto attendi che l'invio di input sia pronto, questo avviene più o meno nello stesso momento in cui dispositivo segnala BOOT_COMPLETE, apparentemente in modo asincrono, perché il framework attuale l'implementazione presenta race condizione occasionali. Viene quindi inviato un comando per ignorare il blocco tastiera (funziona solo su quelle non sicure)

Lanci
DeviceNotAvailableException

fileExist

public boolean doesFileExist (String deviceFilePath)

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

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

Ritorni
boolean true se il file esiste, false in caso contrario.

Lanci
DeviceNotAvailableException

fileExist

public boolean doesFileExist (String deviceFilePath, 
                int userId)

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

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

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

Ritorni
boolean true se il file esiste, false in caso contrario.

Lanci
DeviceNotAvailableException

dumpHeap

public File dumpHeap (String process, 
                String devicePath)

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

Parametri
process String: il nome del processo del dispositivo su cui eseguire il dump dell'heap.

devicePath String: il percorso sul dispositivo in cui posizionare il dump. Deve essere una posizione in cui se le autorizzazioni lo consentono.

Ritorni
File 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
Attualmente attivi sul dispositivo: ERROR(/Set) di ApexInfo

Lanci
DeviceNotAvailableException

getAllSettings

public  getAllSettings (String namespace)

Restituisce coppie chiave-valore dello spazio dei nomi richiesto.

Parametri
namespace String: deve essere uno di {"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 restituisci l'android-id associato a un userId, null se non trovato.

Parametri
userId int

Ritorni
String

Lanci
DeviceNotAvailableException

getAndroidId

public  getAndroidIds ()

Crea una mappa degli ID Android trovati con ID utente corrispondenti. Non esiste alcuna assicurazione che ogni utente id troverà un ID Android associato in questa funzione, pertanto alcuni ID utente potrebbero corrispondere a un valore nullo.

Ritorni
Mappa di ID Android corrispondenti a 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 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à garantisce che il dispositivo continui a funzionare su un dispositivo privo di scheda SD (o nel punto in cui la scheda SD non è ancora montata).

Ritorni
InputStreamSource Un InputStreamSource che produrrà i contenuti della segnalazione di bug on demand. Nella in caso di errore, InputStreamSource produrrà un ERROR(/InputStream) vuoto.

getBugreportz

public InputStreamSource getBugreportz ()

Recupera una segnalazione di bug dal dispositivo. La segnalazione di bug in formato ZIP contiene la segnalazione di bug principale e altri file di log utili per il debug.

Supportata solo per la "versione adb" > 1,0.36

Ritorni
InputStreamSource a InputStreamSource del file ZIP contenente il bugreportz, restituisci null in in caso di errore.

getCurrentFoldableState

public DeviceFoldableState getCurrentFoldableState ()

Restituisce l'attuale stato pieghevole del dispositivo o nullo se si sono verificati alcuni problemi.

Ritorni
DeviceFoldableState

Lanci
DeviceNotAvailableException

getCurrentUser

public int getCurrentUser ()

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

Ritorni
int

Lanci
DeviceNotAvailableException

getFoldableStates

public  getFoldableStates ()

Restituisce l'elenco di stati pieghevoli sul dispositivo. Può essere ottenuto con "cmd device_state" stati di stampa".

Ritorni

Lanci
DeviceNotAvailableException

getInstallaPackageNames

public  getInstalledPackageNames ()

Recupera i nomi dei pacchetti dell'applicazione presenti sul dispositivo.

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

Lanci
DeviceNotAvailableException

getKeyguardState

public KeyguardControllerState getKeyguardState ()

Restituisci un oggetto per ottenere lo stato attuale del blocco della tastiera o null se non supportato.

Ritorni
KeyguardControllerState un elemento KeyguardControllerState contenente uno snapshot dello stato del blocco tastiera 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 nullo, se non esiste un utente principale.

Lanci
DeviceNotAvailableException

getMainlineModuleInfo

public  getMainlineModuleInfo ()

Recupera le informazioni sui moduli di linea principali installati sul dispositivo.

Ritorni
ERROR(/Set) di String moduli di linea 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 che eseguono contemporaneamente

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

IDUtentePrincipale

public Integer getPrimaryUserId ()

Restituisce l'ID utente principale.

Ritorni
Integer l'ID utente dell'utente principale, se presente, e nullo, se non esiste un utente principale.

Lanci
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot ()

Acquisisce uno screenshot dal dispositivo.

Ritorni
InputStreamSource Una InputStreamSource dello screenshot in formato PNG o null se lo screenshot non è riuscito.

Lanci
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format, 
                boolean rescale)

Acquisisce uno screenshot dal dispositivo. È consigliabile usare invece getScreenshot(String) con codifica JPEG per dimensioni inferiori.

Parametri
format String: PNG, JPEG supportato

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

Ritorni
InputStreamSource una InputStreamSource dello screenshot in formato o null se screenshot non riuscito.

Lanci
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format)

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

Parametri
format String: PNG, JPEG supportato

Ritorni
InputStreamSource una InputStreamSource dello screenshot in formato o null se lo screenshot non è riuscito.

Lanci
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (long displayId)

Recupera uno screenshot dall'ID display del dispositivo specificato. Il formato è PNG.

DA FARE: estendi le implementazioni precedenti per supportare il "formato" e poi scalare

Parametri
displayId long: l'ID di visualizzazione dello schermo da cui recuperare lo screenshot.

Ritorni
InputStreamSource una InputStreamSource dello screenshot in formato o null se screenshot non riuscito.

Lanci
DeviceNotAvailableException

getImpostazione

public String getSetting (String namespace, 
                String key)

Vedi getSetting(int, String, String) ed eseguita sull'utente del sistema.

Parametri
namespace String

key String

Ritorni
String

Lanci
DeviceNotAvailableException

getImpostazione

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 allo spazio dei nomi:chiave di un utente. Nullo se non trovato.

Lanci
DeviceNotAvailableException

getDisinstallaablePackageNames

public  getUninstallablePackageNames ()

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

Ritorni
ERROR(/Set) dei nomi di pacchetti String disinstallabili attualmente installati nell' dispositivo.

Lanci
DeviceNotAvailableException

Flag User

public int getUserFlags (int userId)

Trova e restituisci i flag di un determinato utente. I flag sono definiti in "android.content.pm.UserInfo" nel progetto open source Android.

Parametri
userId int

Ritorni
int i flag associati allo userId fornito, se trovato, -10000 in tutti gli altri casi.

Lanci
DeviceNotAvailableException

OttieniInfoUtente

public  getUserInfos ()

Recupera la mappa di useId per UserInfo sul dispositivo. Se l'output dal dispositivo non è quello previsto, verrà generato DeviceRuntimeException.

Ritorni
l'elenco di oggetti UserInfo.

Lanci
DeviceNotAvailableException

getUserSerialNumber

public int getUserSerialNumber (int userId)

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

Parametri
userId int

Ritorni
int

Lanci
DeviceNotAvailableException

hasFeature

public boolean hasFeature (String feature)

Controlla se una funzionalità è disponibile su un dispositivo.

Parametri
feature String: quale formato deve essere "feature:" o "" strato Add.

Ritorni
boolean True se la caratteristica viene trovata, false 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 è necessario eseguire una reinstallazione

extraArgs String: argomenti aggiuntivi facoltativi da passare. Vedi "adb shell pm -h" per disponibile le opzioni di CPU e memoria disponibili.

Ritorni
String 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: solo i casi d'uso che richiedono il controllo esplicito della concessione dell'autorizzazione di runtime al la data e l'ora di installazione devono chiamare questa funzione.

Parametri
packageFile File: il file apk da installare

reinstall boolean: true se è necessario eseguire una reinstallazione

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

extraArgs String: argomenti aggiuntivi facoltativi da passare. Vedi "adb shell pm -h" per disponibile le opzioni di CPU e memoria disponibili.

Ritorni
String 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: solo i casi d'uso che richiedono il controllo esplicito della concessione dell'autorizzazione di runtime al la data e l'ora di installazione devono chiamare questa funzione.

Parametri
packageFile File: il file apk da installare

certFile File: true se è necessario eseguire una reinstallazione

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

extraArgs String: argomenti aggiuntivi facoltativi da passare. Vedi "adb shell pm -h" per disponibile le opzioni di CPU e memoria disponibili.

Ritorni
String 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 di un determinato utente.

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

Parametri
packageFile File: il file apk da installare

reinstall boolean: true se è necessario eseguire una reinstallazione

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

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

extraArgs String: argomenti aggiuntivi facoltativi da passare. Vedi "adb shell pm -h" per disponibile le opzioni di CPU e memoria disponibili.

Ritorni
String 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 di un determinato utente.

Parametri
packageFile File: il file apk da installare

reinstall boolean: true se è necessario eseguire una reinstallazione

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

extraArgs String: argomenti aggiuntivi facoltativi da passare. Vedi "adb shell pm -h" per disponibile le opzioni di CPU e memoria disponibili.

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

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

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

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

Lanci
DeviceNotAvailableException

isHeadlessSystemUserMode

public boolean isHeadlessSystemUserMode ()

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

Ritorni
boolean

Lanci
DeviceNotAvailableException

èAmministratorePermanenteUtentePrincipale

public boolean isMainUserPermanentAdmin ()

Indica se l'utente principale è un amministratore permanente e non può essere eliminato o eseguito il downgrade a non amministratore.

Ritorni
boolean

Lanci
DeviceNotAvailableException

isMultiUserSupported

public boolean isMultiUserSupported ()

Determina se la funzionalità multiutente è supportata.

Ritorni
boolean true se la funzionalità multiutente è supportata, false negli altri casi

Lanci
DeviceNotAvailableException

èPacchettoInstallato

public boolean isPackageInstalled (String packageName)

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

Parametri
packageName String

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

Lanci
DeviceNotAvailableException

èPacchettoInstallato

public boolean isPackageInstalled (String packageName, 
                String userId)

Esegui una query sul dispositivo per trovare un dato nome pacchetto e un dato ID utente per verificare se al momento installato o meno per quell'utente.

Parametri
packageName String: il pacchetto che stiamo controllando se è installato.

userId String: l'ID utente per il quale stiamo controllando l'installazione del pacchetto. Se nullo, l'utente principale 0.

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

Lanci
DeviceNotAvailableException

èIn esecuzioneUtente

public boolean isUserRunning (int userId)

Verificare se un determinato utente è in esecuzione.

Parametri
userId int

Ritorni
boolean True se l'utente è in esecuzione, falso negli altri casi.

Lanci
DeviceNotAvailableException

èUtenteSecondario

public boolean isUserSecondary (int userId)

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

Parametri
userId int

Ritorni
boolean true se l'utente è secondario, false negli altri casi.

Lanci
DeviceNotAvailableException

UtenteVisibile

public boolean isUserVisible (int userId)

Controlla se l'utente specificato è visibile.

Un "visibile" l'utente è un utente che sta interagendo con l'"umano" all'utente e, di conseguenza, può avviare attività di avvio (di solito, nella visualizzazione predefinita).

Parametri
userId int

Ritorni
boolean

Lanci
DeviceNotAvailableException

UtenteVisibileSuDisplay

public boolean isUserVisibleOnDisplay (int userId, 
                int displayId)

Controlla se l'utente è visibile sul display specificato.

Un "visibile" l'utente è un utente che sta interagendo con l'"umano" all'utente e, di conseguenza, può avviare attività di lancio in quel display.

Parametri
userId int

displayId int

Ritorni
boolean

Lanci
DeviceNotAvailableException

isVisibileBackgroundUsersOnDefaultDisplaySupported

public boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

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

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

Ritorni
boolean

Lanci
DeviceNotAvailableException

èVisibileUtentiSfondoSupportato

public boolean isVisibleBackgroundUsersSupported ()

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

In caso affermativo, potresti chiamare startVisibleBackgroundUser(int, int, boolean), superando un display restituito da listDisplayIdsForStartingVisibleBackgroundUsers().

Ritorni
boolean

Lanci
DeviceNotAvailableException

listDisplayId

public  listDisplayIds ()

Raccogli l'elenco degli ID dei display disponibili sul dispositivo segnalato da "dumpsys SurfaceFlinger".

Ritorni
L'elenco delle visualizzazioni. L'impostazione predefinita restituisce sempre 0 come visualizzazione predefinita.

Lanci
DeviceNotAvailableException

listDisplayIdsForStartingVisibilityBackgroundUsers

public  listDisplayIdsForStartingVisibleBackgroundUsers ()

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

Ritorni

Lanci
DeviceNotAvailableException

elencoUtenti

public  listUsers ()

Recupera l'elenco di utenti presenti sul dispositivo. Se output verrà generato DeviceRuntimeException dal dispositivo non è come previsto.

Ritorni
l'elenco degli ID utente.

Lanci
DeviceNotAvailableException

logBugreport

public boolean logBugreport (String dataName, 
                ITestLogger listener)

Metodo di supporto per inviare una segnalazione di bug e registrarla agli autori di segnalazioni.

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

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

Ritorni
boolean True se il logging è riuscito, false in caso contrario.

avvisaSnapuserd

public void notifySnapuserd (SnapuserdWaitPhase waitPhase)

Parametri
waitPhase SnapuserdWaitPhase

postInvocationTeardown

public void postInvocationTearDown (Throwable exception)

Passaggi aggiuntivi per la pulizia specifica del dispositivo che verranno eseguiti dopo la chiamata al termine dell'operazione.

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

rimuovereAmministratore

public boolean removeAdmin (String componentName, 
                int userId)

Rimuovi l'amministratore del dispositivo specificato per l'utente e restituisci true se l'operazione ha esito positivo, false in caso contrario.

Parametri
componentName String: amministratore del dispositivo da rimuovere.

userId int: dell'utente di cui risiede l'amministratore del dispositivo.

Ritorni
boolean True se ha esito positivo, falso in caso contrario.

Lanci
DeviceNotAvailableException

rimuoviProprietari

public void removeOwners ()

Rimuovi tutti i proprietari di profili esistenti del dispositivo con il massimo impegno.

Lanci
DeviceNotAvailableException

rimuovereUtente

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

impostaProprietarioDispositivo

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 come proprietario.

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

Ritorni
boolean True se ha esito positivo, falso in caso contrario.

Lanci
DeviceNotAvailableException

impostazioniImpostazione

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

Vedi setSetting(int, String, String, String) ed eseguita sull'utente del sistema.

Parametri
namespace String

key String

value String

Lanci
DeviceNotAvailableException

impostazioniImpostazione

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

ChiusuraMicrodroide

public void shutdownMicrodroid (ITestDevice microdroidDevice)

Arresta il microdroide, se presente.

Parametri
microdroidDevice ITestDevice

Lanci
com.android.tradefed.device.DeviceNotAvailableEccezione
DeviceNotAvailableException

UtenteInizio

public boolean startUser (int userId)

Avvia un determinato utente in background se al momento è arrestato. Se l'utente è già in esecuzione in background, questo metodo è un NOOP.

Parametri
userId int: dell'utente con cui iniziare in background

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

Lanci
DeviceNotAvailableException

UtenteInizio

public boolean startUser (int userId, 
                boolean waitFlag)

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

Parametri
userId int: dell'utente con cui iniziare in background

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

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

Lanci
DeviceNotAvailableException

inizioVisibileUtenteSfondo

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

Avvia un determinato utente in background, visibile sul display specificato (ad esempio, consentendo all'utente per 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 con cui iniziare in background

displayId int: display su cui l'utente può essere visibile

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

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

Lanci
DeviceNotAvailableException

Utente bloccato

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

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

Parametri
userId int: dell'utente da interrompere.

waitFlag boolean: attenderà finché l'utente non verrà arrestato.

forceFlag boolean: forza l'interruzione dell'utente.

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

Lanci
DeviceNotAvailableException

Utente bloccato

public boolean stopUser (int userId)

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

Parametri
userId int: dell'utente da interrompere.

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

Lanci
DeviceNotAvailableException

supportaMicrodroide

public boolean supportsMicrodroid ()

Controlla le condizioni preliminari per eseguire un microdroide.

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

supportaMicrodroide

public boolean supportsMicrodroid (boolean protectedVm)

Controlla le condizioni preliminari per eseguire un microdroide.

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

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

cambiautente

public boolean switchUser (int userId)

Passa a un altro ID utente 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

cambiautente

public boolean switchUser (int userId, 
                long timeout)

Passa a un altro userId con il timeout fornito come scadenza. Tentativo di disattivare il blocco della tastiera dopo che la modifica dell'utente è andata a buon fine.

Parametri
userId int

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

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

Lanci
DeviceNotAvailableException

prendereBugreport

public Bugreport takeBugreport ()

Prendi una segnalazione di bug e restituila 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 cancellato tramite Bugreport.close().

Ritorni
Bugreport

disinstalla il pacchetto

public String uninstallPackage (String packageName)

Disinstalla un pacchetto Android dal dispositivo.

Parametri
packageName String: il pacchetto Android da disinstallare

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

Lanci
DeviceNotAvailableException

disinstallaPacchettoPerUtente

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 il quale eseguire la disinstallazione.

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

Lanci
DeviceNotAvailableException

attendeSnapuserd

public void waitForSnapuserd (SnapuserdWaitPhase currentPhase)

Parametri
currentPhase SnapuserdWaitPhase

Lanci
DeviceNotAvailableException

Metodi protetti

creareanalizzatore

protected AaptParser createParser (File appFile)

Parametri
appFile File

Ritorni
AaptParser

doAdbRiavvia

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.DeviceNotAvailableEccezione
DeviceNotAvailableException

getBugreportInternal

protected InputStreamSource getBugreportInternal ()

Ritorni
InputStreamSource

getBugreportzInterno

protected File getBugreportzInternal ()

Metodo di helper interno per ottenere il file ZIP bugreportz come ERROR(/File).

Ritorni
File

getCheckNewUserSleep

protected long getCheckNewUserSleep ()

Esposizione per i test.

Ritorni
long

getHostAttuale

protected long getHostCurrentTime ()

Esposizione per i test

Ritorni
long

Configurazione prePostBoot

protected void prePostBootSetup ()

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

Lanci
DeviceNotAvailableException