Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

ITestDevice

public interface ITestDevice
implements INativeDevice

com.android.tradefed.device.ITestDevice


為ddmlib IDevice提供可靠且更高級別的API。

重試設備命令達可配置的數量,並為無響應的設備提供設備恢復界面。

摘要

嵌套類

class ITestDevice.ApexInfo

一個簡單的struct類,用於存儲有關單個APEX的信息

class ITestDevice.MountPointInfo

一個簡單的struct類,用於存儲有關單個安裝點的信息

enum ITestDevice.RecoveryMode

公開方法

abstract boolean checkConnectivity ()

檢查設備是否具有網絡連接。

abstract boolean clearErrorDialogs ()

嘗試關閉設備界面上當前顯示的所有錯誤對話框。

abstract void clearLastConnectedWifiNetwork ()

清除最後連接的wifi網絡。

abstract boolean connectToWifiNetwork (String wifiSsid, String wifiPsk)

連接到wifi網絡。

abstract boolean connectToWifiNetwork (String wifiSsid, String wifiPsk, boolean scanSsid)

連接到wifi網絡。

abstract boolean connectToWifiNetworkIfNeeded (String wifiSsid, String wifiPsk, boolean scanSsid)

connectToWifiNetwork(String, String)變體,僅在設備當前沒有網絡連接時才連接。

abstract boolean connectToWifiNetworkIfNeeded (String wifiSsid, String wifiPsk)

connectToWifiNetwork(String, String)變體,僅在設備當前沒有網絡連接時才連接。

abstract int createUser (String name)

創建一個具有給定名稱和默認標誌0的用戶。

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

創建具有給定名稱和提供的標誌的用戶

abstract int createUserNoThrow (String name)

創建一個具有給定名稱和默認標誌0的用戶。

abstract void disableKeyguard ()

嘗試禁用鍵盤鎖。

abstract boolean disableNetworkMonitor ()

在設備上禁用網絡監視。

abstract boolean disconnectFromWifi ()

斷開與wifi網絡的連接。

abstract File dumpHeap (String process, String devicePath)

嘗試從system_server中轉儲堆。

abstract boolean enableNetworkMonitor ()

在設備上啟用網絡監視。

abstract getActiveApexes ()

獲取有關在設備上激活的APEX的信息。

abstract getAllSettings (String namespace)

返回請求的名稱空間的鍵值對。

abstract String getAndroidId (int userId)

查找並返回與userId關聯的android-id,如果未找到,則返回null。

abstract getAndroidIds ()

創建一個與用戶ID匹配的android ID映射。

abstract PackageInfo getAppPackageInfo (String packageName)

獲取有關設備上安裝的軟件包的信息。

abstract int getCurrentUser ()

返回當前運行用戶的ID。

abstract getInstalledPackageNames ()

提取設備上存在的應用程序包名稱。

abstract String getIpAddress ()

獲取設備的IP地址。

abstract KeyguardControllerState getKeyguardState ()

返回一個對像以獲取鍵盤鎖的當前狀態;如果不支持,則返回null。

abstract int getMaxNumberOfRunningUsersSupported ()

獲取受支持的同時運行用戶的最大數量。

abstract int getMaxNumberOfUsersSupported ()

獲取支持的最大用戶數。

abstract TestDeviceOptions getOptions ()

獲取設備的測試選項。

abstract Integer getPrimaryUserId ()

返回主要用戶ID。

abstract InputStreamSource getScreenshot ()

從設備抓取屏幕截圖。

abstract InputStreamSource getScreenshot (String format, boolean rescale)

從設備抓取屏幕截圖。

abstract InputStreamSource getScreenshot (int displayId)

從給定顯示ID的設備中抓取屏幕截圖。

abstract InputStreamSource getScreenshot (String format)

從設備抓取屏幕截圖。

abstract String getSetting (String namespace, String key)

請參見getSetting(int, String, String)並在系統用戶上執行。

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

返回所請求設置的值。

abstract getUninstallablePackageNames ()

獲取可以卸載的應用程序包名稱。

abstract int getUserFlags (int userId)

查找並返回給定用戶的標誌。

abstract getUserInfos ()

獲取useId到設備上UserInfo的映射。

abstract int getUserSerialNumber (int userId)

返回與userId關聯的序列號(如果找到),在其他情況下為-10000。

abstract boolean hasFeature (String feature)

檢查設備上是否有功能。

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

在設備上安裝Android軟件包。

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

在設備上安裝Android軟件包。

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

在設備上為給定用戶安裝Android軟件包。

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

在設備上為給定用戶安裝Android軟件包。

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

安裝由多個APK文件(一個主要和額外的拆分程序包)組成的Android應用程序。

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

安裝由安裝在android設備上的幾個APK文件(一個主要和額外的拆分包)組成的Android應用程序。

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

為給定用戶安裝一個由數個APK文件(一個主包和一個額外的拆分包)組成的Android應用程序。

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

為給定用戶安裝由數個APK文件(一個主包和一個額外的拆分包)組成的Android應用程序。

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

安裝由安裝在android設備上的幾個APK文件(一個主要和額外的拆分包)組成的Android應用程序。

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

安裝由安裝在android設備上的幾個APK文件(一個主要和額外的拆分包)組成的Android應用程序。

abstract boolean isMultiUserSupported ()

確定是否支持多用戶。

abstract boolean isPackageInstalled (String packageName)

在設備上查詢給定的軟件包名稱,以檢查當前是否已安裝。

abstract boolean isPackageInstalled (String packageName, String userId)

在設備上查詢給定的程序包名稱和用戶ID,以檢查該用戶當前是否已安裝該設備。

abstract boolean isUserRunning (int userId)

檢查給定用戶是否正在運行。

abstract boolean isUserSecondary (int userId)

返回根據其標誌指定的用戶是否是輔助用戶。

abstract boolean isWifiEnabled ()

測試是否啟用了wifi。

abstract listDisplayIds ()

收集“ dumpsys SurfaceFlinger”報告的設備上可用顯示ID的列表。

abstract listUsers ()

獲取設備上的用戶列表。

abstract boolean removeAdmin (String componentName, int userId)

刪除給定用戶中的給定設備管理員,如果成功,則返回true ,否則返回false

abstract void removeOwners ()

盡最大努力刪除所有現有的設備配置文件所有者。

abstract boolean removeUser (int userId)

從設備中刪除給定的用戶。

abstract boolean setDeviceOwner (String componentName, int userId)

將設備管理員組件設置為給定用戶中的設備所有者。

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

請參見setSetting(int, String, String, String)並在系統用戶上執行。

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

將設置值添加到給定用戶的名稱空間。

abstract boolean startUser (int userId)

如果當前已停止,則在後台啟動給定用戶。

abstract boolean startUser (int userId, boolean waitFlag)

如果當前已停止,則在後台啟動給定用戶。

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

停止給定的用戶。

abstract boolean stopUser (int userId)

停止給定的用戶。

abstract boolean switchUser (int userId)

切換到另一個具有默認超時的userId。

abstract boolean switchUser (int userId, long timeout)

使用提供的超時作為截止日期切換到另一個userId。

abstract String uninstallPackage (String packageName)

從設備上卸載Android程序包。

公開方法

checkConnectivity

public abstract boolean checkConnectivity ()

檢查設備是否具有網絡連接。

退貨
boolean 如果設備的網絡連接正常,則為true否則為false

投擲
DeviceNotAvailableException 如果與設備的連接丟失並且無法恢復。

clearErrorDialogs

public abstract boolean clearErrorDialogs ()

嘗試關閉設備界面上當前顯示的所有錯誤對話框。

退貨
boolean 如果不存在對話框或成功清除對話框,則為true 。否則為false

投擲
DeviceNotAvailableException 如果與設備的連接丟失並且無法恢復。

clearLastConnectedWifiNetwork

public abstract void clearLastConnectedWifiNetwork ()

清除最後連接的wifi網絡。在開始新的調用時應調用此函數,以避免設備重啟後連接到先前測試中使用的wifi網絡。

connectToWifiNetwork

public abstract boolean connectToWifiNetwork (String wifiSsid, 
                String wifiPsk)

連接到wifi網絡。

打開wifi並阻止,直到成功連接到指定的wifi網絡為止。建立連接後,實例將在每次重新啟動後嘗試恢復連接,直到ITestDevice#disconnectFromWifi()ITestDevice#clearLastConnectedWifiNetwork()

參量
wifiSsid String :要連接的wifi ssid

wifiPsk String :PSK密碼,如果未加密,則為null

退貨
boolean 如果成功連接到wifi網絡,則為true 。否則為false

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。

connectToWifiNetwork

public abstract boolean connectToWifiNetwork (String wifiSsid, 
                String wifiPsk, 
                boolean scanSsid)

連接到wifi網絡。

打開wifi並阻止,直到成功連接到指定的wifi網絡為止。建立連接後,實例將在每次重新啟動後嘗試恢復連接,直到ITestDevice#disconnectFromWifi()ITestDevice#clearLastConnectedWifiNetwork()

參量
wifiSsid String :要連接的wifi ssid

wifiPsk String :PSK密碼,如果未加密,則為null

scanSsid boolean :是否掃描此網絡的隱藏SSID。

退貨
boolean 如果成功連接到wifi網絡,則為true 。否則為false

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。

需要時連接到Wifi網絡

public abstract boolean connectToWifiNetworkIfNeeded (String wifiSsid, 
                String wifiPsk, 
                boolean scanSsid)

connectToWifiNetwork(String, String)變體,僅在設備當前沒有網絡連接時才連接。

參量
scanSsid boolean :是否掃描此網絡的隱藏SSID

退貨
boolean 如果成功連接到wifi網絡,則為true 。否則為false

投擲
DeviceNotAvailableException

需要時連接到Wifi網絡

public abstract boolean connectToWifiNetworkIfNeeded (String wifiSsid, 
                String wifiPsk)

connectToWifiNetwork(String, String)變體,僅在設備當前沒有網絡連接時才連接。

退貨
boolean 如果成功連接到wifi網絡,則為true 。否則為false

投擲
DeviceNotAvailableException

創建用戶

public abstract int createUser (String name)

創建一個具有給定名稱和默認標誌0的用戶。

參量
name String :要在設備上創建的用戶的String

退貨
int 創建的用戶ID的整數

投擲
DeviceNotAvailableException

創建用戶

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

創建具有給定名稱和提供的標誌的用戶

參量
name String :要在設備上創建的用戶的String

guest boolean :在創建過程中啟用用戶標誌--guest

ephemeral boolean :在創建過程中啟用用戶標誌--ephemeral

退貨
int 創建的用戶的ID

投擲
DeviceNotAvailableException

createUserNoThrow

public abstract int createUserNoThrow (String name)

創建一個具有給定名稱和默認標誌0的用戶。

參量
name String :要在設備上創建的用戶的String

退貨
int 創建的用戶ID的整數,或-1表示錯誤。

投擲
DeviceNotAvailableException

disableKeyguard

public abstract void disableKeyguard ()

嘗試禁用鍵盤鎖。

首先等待輸入分發準備就緒,這大約在設備報告BOOT_COMPLETE的同時發生,這顯然是異步的,因為當前框架實現有時會出現競爭狀況。然後發送命令以關閉鍵盤鎖(僅適用於不安全的鍵盤鎖)

投擲
DeviceNotAvailableException

disableNetworkMonitor

public abstract boolean disableNetworkMonitor ()

在設備上禁用網絡監視。

退貨
boolean 如果成功禁用監視,則為true 。如果失敗,則返回false

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。

從Wifi斷開

public abstract boolean disconnectFromWifi ()

斷開與wifi網絡的連接。

從已知網絡列表中刪除所有網絡並禁用wifi。

退貨
boolean 如果成功從wifi網絡斷開連接,則為true 。如果斷開連接失敗,則返回false

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。

dumpHeap

public abstract File dumpHeap (String process, 
                String devicePath)

嘗試從system_server中轉儲堆。清理轉儲文件是呼叫者的責任。

參量
process String :要在其上進行轉儲的設備進程的名稱。

devicePath String :設備上放置轉儲的路徑。這必須是權限允許的位置。

退貨
File 包含報告的ERROR(/File) 。如果失敗,則為Null。

投擲
DeviceNotAvailableException

enableNetworkMonitor

public abstract boolean enableNetworkMonitor ()

在設備上啟用網絡監視。

退貨
boolean 如果成功啟用監視,則為true 。如果失敗,則返回false

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。

getActiveApexes

public abstract  getActiveApexes ()

獲取有關在設備上激活的APEX的信息。

退貨
設備上當前激活的ApexInfo ERROR(/Set)

投擲
DeviceNotAvailableException

getAllSettings

public abstract  getAllSettings (String namespace)

返回請求的名稱空間的鍵值對。

參量
namespace String :必須是{“ system”,“ secure”,“ global”}中的一個

退貨
鍵值對的映射。如果不支持名稱空間,則為Null。

投擲
DeviceNotAvailableException

getAndroidId

public abstract String getAndroidId (int userId)

查找並返回與userId關聯的android-id,如果未找到,則返回null。

參量
userId int

退貨
String

投擲
DeviceNotAvailableException

getAndroidIds

public abstract  getAndroidIds ()

創建一個與用戶ID匹配的android ID映射。沒有保證每個用戶ID都會在此函數中找到關聯的Android ID,因此某些用戶ID可能與null匹配。

退貨
找到與用戶ID匹配的android ID映射。

投擲
DeviceNotAvailableException

getAppPackageInfo

public abstract PackageInfo getAppPackageInfo (String packageName)

獲取有關設備上安裝的軟件包的信息。

參量
packageName String

退貨
PackageInfo PackageInfo如果無法檢索信息,則返回null

投擲
DeviceNotAvailableException

getCurrentUser

public abstract int getCurrentUser ()

返回當前運行用戶的ID。

退貨
int

投擲
DeviceNotAvailableException
DeviceRuntimeException

getInstalledPackageNames

public abstract  getInstalledPackageNames ()

提取設備上存在的應用程序包名稱。

退貨
設備上當前安裝的String軟件包名稱的ERROR(/Set)

投擲
DeviceNotAvailableException

getIpAddress

public abstract String getIpAddress ()

獲取設備的IP地址。

退貨
String 設備的IP地址;如果設備沒有IP地址,則為null

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。

getKeyguardState

public abstract KeyguardControllerState getKeyguardState ()

返回一個對像以獲取鍵盤鎖的當前狀態;如果不支持,則返回null。

退貨
KeyguardControllerState 一個KeyguardControllerState含有鍵盤鎖,返回的狀態的快照如果不支持空的鍵盤鎖查詢。

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。

getMaxNumberOfRunningUsersSupported

public abstract int getMaxNumberOfRunningUsersSupported ()

獲取受支持的同時運行用戶的最大數量。預設為0。

退貨
int 一個整數,指示同時運行的用戶數

投擲
DeviceNotAvailableException

getMaxNumberOfUsersSupported

public abstract int getMaxNumberOfUsersSupported ()

獲取支持的最大用戶數。預設為0。

退貨
int 指示支持的用戶數的整數

投擲
DeviceNotAvailableException

getOptions

public abstract TestDeviceOptions getOptions ()

獲取設備的測試選項。

退貨
TestDeviceOptions 與被測設備有關的TestDeviceOptions

getPrimaryUserId

public abstract Integer getPrimaryUserId ()

返回主要用戶ID。

退貨
Integer 主用戶的userId(如果有一個),如果沒有主用戶,則為null。

投擲
com.android.tradefed.device.DeviceNotAvailableException
DeviceRuntimeException 如果設備的輸出與預期不符。
DeviceNotAvailableException

getScreenshot

public abstract InputStreamSource getScreenshot ()

從設備抓取屏幕截圖。

退貨
InputStreamSource png格式的屏幕快照的InputStreamSource ;如果屏幕截圖不成功,則返回null

投擲
DeviceNotAvailableException

getScreenshot

public abstract InputStreamSource getScreenshot (String format, 
                boolean rescale)

從設備抓取屏幕截圖。建議使用getScreenshot(String)代替JPEG編碼,以減小尺寸。

參量
format String :支持的PNG,JPEG

rescale boolean :是否應重新縮放屏幕截圖以減小生成的圖像的大小

退貨
InputStreamSource 屏幕截圖的InputStreamSource格式,如果屏幕截圖不成功,則返回null

投擲
DeviceNotAvailableException

getScreenshot

public abstract InputStreamSource getScreenshot (int displayId)

從給定顯示ID的設備中抓取屏幕截圖。格式為PNG。

TODO:擴展上述實現以支持“格式”和“縮放”

參量
displayId int :要從中獲取屏幕截圖的屏幕的顯示ID。

退貨
InputStreamSource 屏幕截圖的InputStreamSource格式,如果屏幕截圖不成功,則返回null

投擲
DeviceNotAvailableException

getScreenshot

public abstract InputStreamSource getScreenshot (String format)

從設備抓取屏幕截圖。建議使用getScreenshot(format)代替JPEG編碼,以減小尺寸

參量
format String :支持的PNG,JPEG

退貨
InputStreamSource 屏幕截圖的InputStreamSource格式,如果屏幕截圖不成功,則返回null

投擲
DeviceNotAvailableException

getSetting

public abstract String getSetting (String namespace, 
                String key)

請參見getSetting(int, String, String)並在系統用戶上執行。

參量
namespace String

key String

退貨
String

投擲
DeviceNotAvailableException

getSetting

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

返回所請求設置的值。名稱空間必須是以下之一:{“ system”,“ secure”,“ global”}

參量
userId int

namespace String

key String

退貨
String 與用戶的namespace:key關聯的值。如果未找到,則為Null。

投擲
DeviceNotAvailableException

getUninstallablePackageNames

public abstract  getUninstallablePackageNames ()

獲取可以卸載的應用程序包名稱。當前將其定義為非系統軟件包和更新的系統軟件包。

退貨
設備上當前安裝的可卸載String軟件包名稱的ERROR(/Set)

投擲
DeviceNotAvailableException

getUserFlags

public abstract int getUserFlags (int userId)

查找並返回給定用戶的標誌。標誌是在Android開放源代碼項目的“ android.content.pm.UserInfo”類中定義的。

參量
userId int

退貨
int 與提供的userId關聯的標誌(如果找到),在其他情況下為-10000。

投擲
DeviceNotAvailableException

getUserInfos

public abstract  getUserInfos ()

獲取useId到設備上UserInfo的映射。如果設備的輸出與預期DeviceRuntimeException將拋出DeviceRuntimeException

退貨
UserInfo對象的列表。

投擲
com.android.tradefed.device.DeviceNotAvailableException
DeviceRuntimeException
DeviceNotAvailableException

getUserSerialNumber

public abstract int getUserSerialNumber (int userId)

返回與userId關聯的序列號(如果找到),在其他情況下為-10000。

參量
userId int

退貨
int

投擲
DeviceNotAvailableException

hasFeature

public abstract boolean hasFeature (String feature)

檢查設備上是否有功能。

參量
feature String :哪種格式應為“功能: ”。

退貨
boolean 如果找到功能,則為true,否則為false。

投擲
DeviceNotAvailableException

installPackage

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

在設備上安裝Android軟件包。

參量
packageFile File :要安裝的apk文件

reinstall boolean :如果應該執行重新安裝,則為true

extraArgs String :要傳遞的可選額外參數。有關可用選項,請參見“ adb shell pm install --help”。

退貨
String 帶有錯誤代碼的String ;如果成功,則返回null

投擲
DeviceNotAvailableException 如果與設備的連接丟失並且無法恢復。

installPackage

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

在設備上安裝Android軟件包。

注意:僅在需要在安裝時明確控制授予運行時權限的用例時,才應調用此函數。

參量
packageFile File :要安裝的apk文件

reinstall boolean :如果應該執行重新安裝,則為true

grantPermissions boolean :是否應在安裝時授予所有運行時權限

extraArgs String :要傳遞的可選額外參數。有關可用選項,請參見“ adb shell pm install --help”。

退貨
String 帶有錯誤代碼的String ;如果成功,則返回null

投擲
DeviceNotAvailableException 如果與設備的連接丟失並且無法恢復。
UnsupportedOperationException 如果設備上的平台不支持運行時權限。

installPackageForUser

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

在設備上為給定用戶安裝Android軟件包。

注意:僅在需要在安裝時明確控制授予運行時權限的用例時,才應調用此函數。

參量
packageFile File :要安裝的apk文件

reinstall boolean :如果應該執行重新安裝,則為true

grantPermissions boolean :是否應在安裝時授予所有運行時權限

userId int :要安裝的整數用戶ID。

extraArgs String :要傳遞的可選額外參數。有關可用選項,請參見“ adb shell pm install --help”。

退貨
String 帶有錯誤代碼的String ;如果成功,則返回null

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。
UnsupportedOperationException 如果設備上的平台不支持運行時權限。

installPackageForUser

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

在設備上為給定用戶安裝Android軟件包。

參量
packageFile File :要安裝的apk文件

reinstall boolean :如果應該執行重新安裝,則為true

userId int :要安裝的整數用戶ID。

extraArgs String :要傳遞的可選額外參數。有關可用選項,請參見“ adb shell pm install --help”。

退貨
String 帶有錯誤代碼的String ;如果成功,則返回null

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。

installPackages

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

安裝由多個APK文件(一個主要和額外的拆分程序包)組成的Android應用程序。請參閱“ https://developer.android.com/studio/build/configure-apk-splits”,了解如何將APK拆分為多個文件。

參量
packageFiles :本地apk文件

reinstall boolean :如果應該執行重新安裝,則為true

extraArgs String :要傳遞的可選額外參數。有關可用選項,請參見“ adb shell pm install --help”。

退貨
String 帶有錯誤代碼的String ;如果成功,則返回null

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。
UnsupportedOperationException 如果設備上的平台不支持運行時權限。

installPackages

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

安裝由安裝在android設備上的數個APK文件(一個主要和額外的拆分包)組成的Android應用程序。請參閱“ https://developer.android.com/studio/build/configure-apk-splits”,了解如何將APK拆分為多個文件。

注意:僅在需要在安裝時明確控制授予運行時權限的用例時,才應調用此函數。

參量
packageFiles :要安裝的遠程apk文件路徑

reinstall boolean :如果應該執行重新安裝,則為true

grantPermissions boolean :是否應在安裝時授予所有運行時權限

extraArgs String :要傳遞的可選額外參數。有關可用選項,請參見“ adb shell pm install --help”。

退貨
String 帶有錯誤代碼的String ;如果成功,則返回null

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。
UnsupportedOperationException 如果設備上的平台不支持運行時權限。

installPackagesForUser

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

為給定用戶安裝由數個APK文件(一個主包和一個額外的拆分包)組成的Android應用程序。請參閱“ https://developer.android.com/studio/build/configure-apk-splits”,了解如何將APK拆分為多個文件。

注意:僅在需要在安裝時明確控制授予運行時權限的用例時,才應調用此函數。

參量
packageFiles :本地apk文件

reinstall boolean :如果應該執行重新安裝,則為true

grantPermissions boolean :是否應在安裝時授予所有運行時權限

userId int :要安裝的整數用戶ID。

extraArgs String :要傳遞的可選額外參數。有關可用選項,請參見“ adb shell pm install --help”。

退貨
String 帶有錯誤代碼的String ;如果成功,則返回null

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。
UnsupportedOperationException 如果設備上的平台不支持運行時權限。

installPackagesForUser

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

為給定用戶安裝由數個APK文件(一個主包和一個額外的拆分包)組成的Android應用程序。請參閱“ https://developer.android.com/studio/build/configure-apk-splits”,了解如何將APK拆分為多個文件。

參量
packageFiles :本地apk文件

reinstall boolean :如果應該執行重新安裝,則為true

userId int :要安裝的整數用戶ID。

extraArgs String :要傳遞的可選額外參數。有關可用選項,請參見“ adb shell pm install --help”。

退貨
String 帶有錯誤代碼的String ;如果成功,則返回null

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。
UnsupportedOperationException 如果設備上的平台不支持運行時權限。

installRemotePackages

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

安裝由安裝在android設備上的數個APK文件(一個主要和額外的拆分包)組成的Android應用程序。請參閱“ https://developer.android.com/studio/build/configure-apk-splits”,了解如何將APK拆分為多個文件。

注意:僅在需要在安裝時明確控制授予運行時權限的用例時,才應調用此函數。

參量
remoteApkPaths :遠程apk文件路徑

reinstall boolean :如果應該執行重新安裝,則為true

grantPermissions boolean :是否應在安裝時授予所有運行時權限

extraArgs String :要傳遞的可選額外參數。有關可用選項,請參見“ adb shell pm install --help”。

退貨
String 帶有錯誤代碼的String ;如果成功,則返回null

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。
UnsupportedOperationException 如果設備上的平台不支持運行時權限。

installRemotePackages

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

安裝由安裝在android設備上的幾個APK文件(一個主要和額外的拆分包)組成的Android應用程序。請參閱“ https://developer.android.com/studio/build/configure-apk-splits”,了解如何將APK拆分為多個文件。

參量
remoteApkPaths :遠程apk文件路徑

reinstall boolean :如果應該執行重新安裝,則為true

extraArgs String :要傳遞的可選額外參數。有關可用選項,請參見“ adb shell pm install --help”。

退貨
String 帶有錯誤代碼的String ;如果成功,則返回null

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。
UnsupportedOperationException 如果設備上的平台不支持運行時權限。

isMultiUserSupported

public abstract boolean isMultiUserSupported ()

確定是否支持多用戶。

退貨
boolean 如果支持多用戶,則為true,否則為false

投擲
DeviceNotAvailableException

isPackage已安裝

public abstract boolean isPackageInstalled (String packageName)

在設備上查詢給定的軟件包名稱,以檢查當前是否已安裝。

參量
packageName String

退貨
boolean 如果該軟件包報告為已安裝,則為True。否則為假。

投擲
DeviceNotAvailableException

isPackage已安裝

public abstract boolean isPackageInstalled (String packageName, 
                String userId)

在設備上查詢給定的程序包名稱和用戶ID,以檢查該用戶當前是否已安裝該設備。

參量
packageName String :我們正在檢查的軟件包是否已安裝。

userId String :我們正在檢查軟件包的用戶標識。如果為null,則將使用主要用戶零。

退貨
boolean 如果該軟件包報告為已安裝,則為True。否則為假。

投擲
DeviceNotAvailableException

isUserRunning

public abstract boolean isUserRunning (int userId)

檢查給定用戶是否正在運行。

參量
userId int

退貨
boolean 如果用戶正在運行,則為true,否則為false。

投擲
DeviceNotAvailableException

isUserSecondary

public abstract boolean isUserSecondary (int userId)

返回根據其標誌指定的用戶是否是輔助用戶。

參量
userId int

退貨
boolean 如果用戶是第二用戶則為true,否則為false。

投擲
DeviceNotAvailableException

isWifiEnabled

public abstract boolean isWifiEnabled ()

測試是否啟用了wifi。

檢查設備上是否啟用了wifi。對於在不應通過wifi運行的測試之前聲明wifi狀態很有用,例如,移動數據測試。

退貨
boolean 如果啟用了wifi,則為true 。如果禁用則為false

投擲
DeviceNotAvailableException 與設備的連接丟失並且無法恢復。

listDisplayIds

public abstract  listDisplayIds ()

收集“ dumpsys SurfaceFlinger”報告的設備上可用顯示ID的列表。

退貨
顯示列表。默認值始終返回默認顯示0。

投擲
DeviceNotAvailableException

listUsers

public abstract  listUsers ()

獲取設備上的用戶列表。如果設備的輸出與預期DeviceRuntimeException將拋出DeviceRuntimeException

退貨
用戶ID列表。

投擲
com.android.tradefed.device.DeviceNotAvailableException
DeviceRuntimeException
DeviceNotAvailableException

removeAdmin

public abstract boolean removeAdmin (String componentName, 
                int userId)

刪除給定用戶中的給定設備管理員,如果成功則返回true ,否則返回false

參量
componentName String :要刪除的設備管理員的String

userId int :設備管理員居住的用戶。

退貨
boolean 如果成功,則為true,否則為false。

投擲
DeviceNotAvailableException

removeOwners

public abstract void removeOwners ()

盡最大努力刪除所有現有的設備配置文件所有者。

投擲
DeviceNotAvailableException

removeUser

public abstract boolean removeUser (int userId)

從設備中刪除給定的用戶。

參量
userId int :要刪除的用戶

退貨
boolean 如果成功刪除用戶,則為true,否則為false。

投擲
DeviceNotAvailableException

setDeviceOwner

public abstract boolean setDeviceOwner (String componentName, 
                int userId)

將設備管理員組件設置為給定用戶中的設備所有者。

參量
componentName String :設備管理員的設備所有者身份。

userId int :設備所有者所居住的用戶的身份。

退貨
boolean 如果成功,則為true,否則為false。

投擲
DeviceNotAvailableException

setSetting

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

請參見setSetting(int, String, String, String)並在系統用戶上執行。

參量
namespace String

key String

value String

投擲
DeviceNotAvailableException

setSetting

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

將設置值添加到給定用戶的名稱空間。某些設置僅在重啟後才可用。名稱空間必須是以下之一:{“ system”,“ secure”,“ global”}

參量
userId int

namespace String

key String

value String

投擲
DeviceNotAvailableException

startUser

public abstract boolean startUser (int userId)

如果當前已停止,則在後台啟動給定用戶。如果用戶已經在後台運行,則此方法為NOOP。

參量
userId int :在後台啟動的用戶

退貨
boolean 如果用戶在後台成功啟動,則為true。

投擲
DeviceNotAvailableException

startUser

public abstract boolean startUser (int userId, 
                boolean waitFlag)

如果當前已停止,則在後台啟動給定用戶。如果用戶已經在後台運行,則此方法為NOOP。可以提供額外的標誌來等待操作生效。

參量
userId int :在後台啟動的用戶

waitFlag boolean :將使命令等待,直到用戶啟動並解鎖。

退貨
boolean 如果用戶在後台成功啟動,則為true。

投擲
DeviceNotAvailableException

stopUser

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

停止給定的用戶。可以提供額外的標誌來等待操作生效,並強制終止用戶。無法停止當前用戶和系統用戶。

參量
userId int :要停止的用戶。

waitFlag boolean :將使命令等待直到用戶停止。

forceFlag boolean :將強制停止用戶。

退貨
boolean 如果用戶已成功停止,則為true。

投擲
DeviceNotAvailableException

stopUser

public abstract boolean stopUser (int userId)

停止給定的用戶。如果用戶已經停止,則此方法為NOOP。無法停止當前用戶和系統用戶。

參量
userId int :要停止的用戶。

退貨
boolean 如果用戶已成功停止,則為true。

投擲
DeviceNotAvailableException

切換用戶

public abstract boolean switchUser (int userId)

切換到另一個具有默認超時的userId。 switchUser(int, long)

參量
userId int

退貨
boolean 如果新的userId與userId提供者匹配,則為True。否則為假。

投擲
DeviceNotAvailableException

切換用戶

public abstract boolean switchUser (int userId, 
                long timeout)

使用提供的超時作為截止日期切換到另一個userId。用戶更改成功後,嘗試禁用鍵盤鎖。

參量
userId int

timeout long :等待切換用戶返回false之前等待。

退貨
boolean 如果新的userId與userId提供者匹配,則為True。否則為假。

投擲
DeviceNotAvailableException

uninstallPackage

public abstract String uninstallPackage (String packageName)

從設備上卸載Android程序包。

參量
packageName String :要卸載的Android軟件包

退貨
String 帶有錯誤代碼的String ;如果成功,則返回null

投擲
DeviceNotAvailableException 如果與設備的連接丟失並且無法恢復。