Dispositivo di test
public
class
TestDevice
extends NativeDevice
Sottoclassi dirette note
ManagedRemoteDevice |
Un dispositivo in esecuzione all'interno di una macchina virtuale da noi gestita da remoto tramite un'istanza Tradefed all'interno
la VM.
|
NestedRemoteDevice |
Rappresentazione del dispositivo in esecuzione all'interno di una VM Cuttlefish remota.
|
DispositivoAndroidRemote |
Implementazione di un ITestDevice per un dispositivo Android full stack connesso tramite
ADB Connect.
|
|
Sottoclassi indirette note
|
Implementazione di un ITestDevice
per un dispositivo Android full stack
Riepilogo
Campi |
public
static
final
String |
DISMISS_KEYGUARD_CMD
Comandi utilizzabili per ignorare il blocco tastiera.
|
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)
|
Campi
DISMISS_KEYGUARD_CMD
public static final String DISMISS_KEYGUARD_CMD
Comandi utilizzabili per ignorare il blocco tastiera.
Costruttori pubblici
Metodi pubblici
CANNOT TRANSLATE
public boolean canSwitchToHeadlessSystemUser ()
Indica se è consentito passare all'utente SYSTEM headless.
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. |
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 |
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 |
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 |
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. |
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)
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. |
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. |
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. |
getActiveApexes
public getActiveApexes ()
Recupera le informazioni sugli APEX attivati sul dispositivo.
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. |
getAndroidId
public String getAndroidId (int userId)
Trova e restituisci l'android-id associato a un userId, null se non trovato.
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. |
getAppPackageInfo
public PackageInfo getAppPackageInfo (String packageName)
Recupera informazioni su un pacchetto installato sul dispositivo.
Parametri |
packageName |
String |
getAppPackageInfos
public getAppPackageInfos ()
Recupera informazioni sui pacchetti installati sul dispositivo.
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).
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
getCurrentFoldableState
public DeviceFoldableState getCurrentFoldableState ()
Restituisce l'attuale stato pieghevole del dispositivo o nullo se si sono verificati alcuni problemi.
getCurrentUser
public int getCurrentUser ()
Restituisce l'ID dell'utente corrente in esecuzione. In caso di errore, restituisci -10000.
getFoldableStates
public getFoldableStates ()
Restituisce l'elenco di stati pieghevoli sul dispositivo. Può essere ottenuto con "cmd device_state"
stati di stampa".
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. |
getKeyguardState
public KeyguardControllerState getKeyguardState ()
Restituisci un oggetto per ottenere lo stato attuale del blocco della tastiera o null se non supportato.
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. |
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. |
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 |
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 |
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. |
getScreenshot
public InputStreamSource getScreenshot ()
Acquisisce uno screenshot dal dispositivo.
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 |
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 |
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. |
getImpostazione
public String getSetting (String namespace,
String key)
Vedi getSetting(int, String, String)
ed eseguita sull'utente del sistema.
Parametri |
namespace |
String |
key |
String |
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. |
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. |
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.
Ritorni |
int |
i flag associati allo userId fornito, se trovato, -10000 in tutti gli altri casi. |
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. |
getUserSerialNumber
public int getUserSerialNumber (int userId)
Restituisce il numero di serie associato allo userId, se trovato, -10000 in tutti gli altri casi.
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. |
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. |
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. |
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. |
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. |
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. |
installPackages
public String installPackages ( packageFiles,
boolean reinstall,
String... extraArgs)
Parametri |
packageFiles |
|
reinstall |
boolean |
extraArgs |
String |
installPackages
public String installPackages ( packageFiles,
boolean reinstall,
boolean grantPermissions,
String... extraArgs)
Parametri |
packageFiles |
|
reinstall |
boolean |
grantPermissions |
boolean |
extraArgs |
String |
installPackagesForUser
public String installPackagesForUser ( packageFiles,
boolean reinstall,
boolean grantPermissions,
int userId,
String... extraArgs)
Parametri |
packageFiles |
|
reinstall |
boolean |
grantPermissions |
boolean |
userId |
int |
extraArgs |
String |
installPackagesForUser
public String installPackagesForUser ( packageFiles,
boolean reinstall,
int userId,
String... extraArgs)
Parametri |
packageFiles |
|
reinstall |
boolean |
userId |
int |
extraArgs |
String |
installRemotePackages
public String installRemotePackages ( remoteApkPaths,
boolean reinstall,
String... extraArgs)
Parametri |
remoteApkPaths |
|
reinstall |
boolean |
extraArgs |
String |
installRemotePackages
public String installRemotePackages ( remoteApkPaths,
boolean reinstall,
boolean grantPermissions,
String... extraArgs)
Parametri |
remoteApkPaths |
|
reinstall |
boolean |
grantPermissions |
boolean |
extraArgs |
String |
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 |
isHeadlessSystemUserMode
public boolean isHeadlessSystemUserMode ()
Indica se il dispositivo utilizza la modalità utente di sistema headless.
èAmministratorePermanenteUtentePrincipale
public boolean isMainUserPermanentAdmin ()
Indica se l'utente principale è un amministratore permanente e non può essere eliminato o eseguito il downgrade a
non amministratore.
isMultiUserSupported
public boolean isMultiUserSupported ()
Determina se la funzionalità multiutente è supportata.
Ritorni |
boolean |
true se la funzionalità multiutente è supportata, false negli altri casi |
è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. |
è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. |
èIn esecuzioneUtente
public boolean isUserRunning (int userId)
Verificare se un determinato utente è in esecuzione.
Ritorni |
boolean |
True se l'utente è in esecuzione, falso negli altri casi. |
èUtenteSecondario
public boolean isUserSecondary (int userId)
Indica se l'utente specificato è un utente secondario in base ai flag.
Ritorni |
boolean |
true se l'utente è secondario, false negli altri casi. |
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).
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 |
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. |
listDisplayIdsForStartingVisibilityBackgroundUsers
public listDisplayIdsForStartingVisibleBackgroundUsers ()
Recupera l'elenco di display che possono essere utilizzati per start a user visible in the background
.
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. |
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. |
rimuoviProprietari
public void removeOwners ()
Rimuovi tutti i proprietari di profili esistenti del dispositivo con il massimo impegno.
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. |
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. |
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 |
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 |
ChiusuraMicrodroide
public void shutdownMicrodroid (ITestDevice microdroidDevice)
Arresta il microdroide, se presente.
Parametri |
microdroidDevice |
ITestDevice |
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. |
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. |
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. |
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. |
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. |
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)
.
Ritorni |
boolean |
True se il nuovo userId corrisponde al provider userId. Falso negli altri casi. |
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. |
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()
.
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. |
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. |
attendeSnapuserd
public void waitForSnapuserd (SnapuserdWaitPhase currentPhase)
Parametri |
currentPhase |
SnapuserdWaitPhase |
Metodi protetti
creareanalizzatore
protected AaptParser createParser (File appFile)
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. |
getBugreportzInterno
protected File getBugreportzInternal ()
Metodo di helper interno per ottenere il file ZIP bugreportz come ERROR(/File)
.
getCheckNewUserSleep
protected long getCheckNewUserSleep ()
Esposizione per i test.
getHostAttuale
protected long getHostCurrentTime ()
Esposizione per i test
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.