測試設備

public interface ITestDevice
implements INativeDevice

com.android.tradefed.device.ITestDevice


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

重試設備命令可配置的次數,並為無響應的設備提供設備恢復接口。

概括

嵌套類

class ITestDevice.ApexInfo

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

class ITestDevice.MountPointInfo

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

公共方法

abstract boolean canSwitchToHeadlessSystemUser ()

返回是否允許切換到無頭SYSTEM用戶。

abstract boolean checkConnectivity ()

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

abstract boolean clearErrorDialogs ()

嘗試關閉設備 UI 上當前顯示的任何錯誤對話框。

abstract void clearLastConnectedWifiNetwork ()

清除上次連接的 wifi 網絡。

abstract boolean connectToWifiNetwork ( wifiSsidToPsk, boolean scanSsid) connectToWifiNetwork ( wifiSsidToPsk, boolean scanSsid)

連接到 wifi 網絡。

abstract boolean connectToWifiNetwork ( wifiSsidToPsk) connectToWifiNetwork ( wifiSsidToPsk)

連接到 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, boolean forTesting)

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

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

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

abstract int createUserNoThrow (String name)

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

abstract void deregisterDeviceActionReceiver ( IDeviceActionReceiver deviceActionReceiver)

刪除已註冊的IDeviceActionReceiver

abstract void disableKeyguard ()

嘗試禁用鍵盤保護。

abstract boolean disableNetworkMonitor ()

禁用設備上的網絡監控。

abstract boolean disconnectFromWifi ()

與 WiFi 網絡斷開連接。

abstract boolean doesFileExist (String deviceFilePath, int userId)

用於確定給定用戶的設備上的文件是否存在的幫助程序方法。

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

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

abstract InputStreamSource getBugreport ()

從設備檢索錯誤報告。

abstract InputStreamSource getBugreportz ()

從設備檢索錯誤報告。

abstract DeviceFoldableState getCurrentFoldableState ()

返回設備當前的可折疊狀態,如果發生某些問題,則返回 null。

abstract int getCurrentUser ()

返回當前運行用戶的id。

abstract getFoldableStates ()

返回設備上可折疊狀態的列表。

abstract getInstalledPackageNames ()

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

abstract String getIpAddress ()

獲取設備的IP地址。

abstract KeyguardControllerState getKeyguardState ()

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

abstract Integer getMainUserId ()

返回主用戶 ID。

abstract getMainlineModuleInfo ()

獲取有關設備上安裝的主線模塊的信息。

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

從設備抓取屏幕截圖。

abstract InputStreamSource getScreenshot (long displayId)

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

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的 Map。

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, String... extraArgs) installRemotePackages ( remoteApkPaths, boolean reinstall, String... extraArgs)

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

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

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

abstract boolean isHeadlessSystemUserMode ()

返回設備是否使用無頭系統用戶模式。

abstract boolean isMainUserPermanentAdmin ()

返回主用戶是否是永久管理員且無法刪除或降級為非管理員狀態。

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 isUserVisible (int userId)

檢查給定用戶是否可見。

abstract boolean isUserVisibleOnDisplay (int userId, int displayId)

檢查給定用戶在給定顯示中是否可見。

abstract boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

返回設備是否允許用戶在ERROR(/java.android.view.Display#DEFAULT_DISPLAY)中在後台啟動可見。

abstract boolean isVisibleBackgroundUsersSupported ()

返回設備是否允許用戶在後台啟動可見。

abstract boolean isWifiEnabled ()

測試 wifi 是否已啟用。

abstract listDisplayIds ()

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

abstract listDisplayIdsForStartingVisibleBackgroundUsers ()

獲取可用於start a user visible in the background顯示列表。

abstract listUsers ()

獲取設備上的用戶列表。

abstract boolean logBugreport (String dataName, ITestLogger listener)

獲取錯誤報告並將其記錄給報告者的幫助方法。

abstract void registerDeviceActionReceiver ( IDeviceActionReceiver deviceActionReceiver)

為此設備註冊一個IDeviceActionReceiver

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 startVisibleBackgroundUser (int userId, int displayId, boolean waitFlag)

在後台啟動給定用戶,在給定顯示中可見(即允許用戶在該顯示中啟動活動)。

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

停止給定用戶。

abstract boolean stopUser (int userId)

停止給定用戶。

abstract boolean switchUser (int userId)

切換到另一個具有默認超時的用戶 ID。

abstract boolean switchUser (int userId, long timeout)

切換到另一個用戶 ID,並以提供的超時為截止時間。

abstract Bugreport takeBugreport ()

獲取錯誤報告並將其返回到Bugreport對像中以進行處理。

abstract String uninstallPackage (String packageName)

從設備卸載 Android 軟件包。

abstract String uninstallPackageForUser (String packageName, int userId)

從設備上為給定用戶卸載 Android 軟件包。

公共方法

可以切換到Headless系統用戶

public abstract boolean canSwitchToHeadlessSystemUser ()

返回是否允許切換到無頭SYSTEM用戶。

退貨
boolean

投擲
DeviceNotAvailableException

檢查連接性

public abstract boolean checkConnectivity ()

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

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

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

清除錯誤對話框

public abstract boolean clearErrorDialogs ()

嘗試關閉設備 UI 上當前顯示的任何錯誤對話框。

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

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

清除上次連接的 Wifi 網絡

public abstract void clearLastConnectedWifiNetwork ()

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

連接到Wifi網絡

public abstract boolean connectToWifiNetwork ( wifiSsidToPsk, 
                boolean scanSsid)

連接到 wifi 網絡。

打開 wifi 並阻止,直到與 wifiSsidToPsk 映射中給出的 wifi 網絡之一成功連接。建立連接後,實例將在每次重新啟動後嘗試恢復連接,直到調用ITestDevice#disconnectFromWifi()ITestDevice#clearLastConnectedWifiNetwork()為止。

參數
wifiSsidToPsk :wifi SSID 到密碼的映射。

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

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

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

連接到Wifi網絡

public abstract boolean connectToWifiNetwork ( wifiSsidToPsk)

連接到 wifi 網絡。

打開 wifi 並阻止,直到與 wifiSsidToPsk 映射中給出的 wifi 網絡之一成功連接。建立連接後,實例將在每次重新啟動後嘗試恢復連接,直到調用ITestDevice#disconnectFromWifi()ITestDevice#clearLastConnectedWifiNetwork()為止。

參數
wifiSsidToPsk :wifi SSID 到密碼的映射。

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

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

連接到Wifi網絡

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如果與設備的連接丟失且無法恢復。

連接到Wifi網絡

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

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

如果需要連接到 Wifi 網絡

public abstract boolean connectToWifiNetworkIfNeeded (String wifiSsid, 
                String wifiPsk)

connectToWifiNetwork(String, String)的一種變體,僅當設備當前沒有網絡連接時才進行連接。

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

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

創建用戶

public abstract int createUser (String name)

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

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

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

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

創建用戶

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

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

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

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

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

forTesting boolean :在創建過程中啟用測試標誌 --for-testing

退貨
int創建用戶的id

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

創建用戶

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

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

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

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

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

退貨
int創建用戶的id

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

創建用戶不拋出

public abstract int createUserNoThrow (String name)

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

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

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

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

註銷設備操作接收器

public abstract void deregisterDeviceActionReceiver (IDeviceActionReceiver deviceActionReceiver)

刪除已註冊的IDeviceActionReceiver

參數
deviceActionReceiver IDeviceActionReceiver :將被刪除的IDeviceActionReceiver

禁用鍵盤鎖

public abstract void disableKeyguard ()

嘗試禁用鍵盤保護。

首先等待輸入調度準備就緒,這大約在設備報告 BOOT_COMPLETE 的同時發生,顯然是異步的,因為當前的框架實現偶爾會出現競爭條件。然後發送命令以解除鍵盤保護(僅適用於非安全鍵盤)

投擲
DeviceNotAvailableException

禁用網絡監視器

public abstract boolean disableNetworkMonitor ()

禁用設備上的網絡監控。

退貨
boolean如果成功禁用監控則為true 。如果失敗則為false

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

斷開與Wifi的連接

public abstract boolean disconnectFromWifi ()

與 WiFi 網絡斷開連接。

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

退貨
boolean如果成功斷開與 wifi 網絡的連接, true 。如果斷開連接失敗,則false

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

文件是否存在

public abstract boolean doesFileExist (String deviceFilePath, 
                int userId)

用於確定給定用戶的設備上的文件是否存在的幫助程序方法。

參數
deviceFilePath String : 要檢查的設備上文件的絕對路徑

userId int :用於檢查文件存在的用戶 ID

退貨
boolean如果文件存在true ,否則為false

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

轉儲堆

public abstract File dumpHeap (String process, 
                String devicePath)

嘗試從 system_server 轉儲堆。調用者有責任清理轉儲的文件。

參數
process String :轉儲堆的設備進程的名稱。

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

退貨
File包含報告的ERROR(/File) 。如果某件事失敗則為空。

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

啟用網絡監視器

public abstract boolean enableNetworkMonitor ()

啟用設備上的網絡監控。

退貨
boolean true如果監控啟用成功。如果失敗則為false

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

獲取活動頂點

public abstract  getActiveApexes ()

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

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

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

獲取所有設置

public abstract  getAllSettings (String namespace)

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

參數
namespace String :必須是 {"system", "secure", "global"} 之一

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

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

獲取AndroidId

public abstract String getAndroidId (int userId)

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

參數
userId int

退貨
String

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

獲取AndroidId

public abstract  getAndroidIds ()

創建一個找到匹配用戶 ID 的 Android ID 地圖。無法保證每個用戶 ID 都會在此函數中找到關聯的 Android ID,因此某些用戶 ID 可能會匹配 null。

退貨
Android ID 地圖找到匹配的用戶 ID。

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

獲取應用程序包信息

public abstract PackageInfo getAppPackageInfo (String packageName)

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

參數
packageName String

退貨
PackageInfo如果無法檢索信息,則為PackageInfonull

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

獲取應用程序包信息

public abstract  getAppPackageInfos ()

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

退貨
設備上安裝的PackageInfo ERROR(/List)

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

獲取錯誤報告

public abstract InputStreamSource getBugreport ()

從設備檢索錯誤報告。

這個實現保證在沒有 SD 卡的設備上(或者尚未安裝 SD 卡的設備)繼續工作。

退貨
InputStreamSource一個InputStreamSource ,它將根據需要生成錯誤報告內容。如果失敗, InputStreamSource將產生一個空的ERROR(/InputStream)

獲取錯誤報告

public abstract InputStreamSource getBugreportz ()

從設備檢索錯誤報告。 Zip 格式的錯誤報告包含主要錯誤報告和其他對調試有用的日誌文件。

僅支持“adb 版本”> 1.0.36

退貨
InputStreamSource包含 bugreportz 的 zip 文件的InputStreamSource ,如果失敗則返回 null。

獲取當前可折疊狀態

public abstract DeviceFoldableState getCurrentFoldableState ()

返回設備當前的可折疊狀態,如果發生某些問題,則返回 null。

退貨
DeviceFoldableState

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

獲取當前用戶

public abstract int getCurrentUser ()

返回當前運行用戶的id。如果出現錯誤,則返回-10000。

退貨
int

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

獲取可折疊狀態

public abstract  getFoldableStates ()

返回設備上可折疊狀態的列表。可以通過“cmd device_state print-states”獲得。

退貨

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

獲取安裝包名稱

public abstract  getInstalledPackageNames ()

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

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

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

獲取IP地址

public abstract String getIpAddress ()

獲取設備的IP地址。

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

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

獲取KeyguardState

public abstract KeyguardControllerState getKeyguardState ()

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

退貨
KeyguardControllerState包含鍵盤鎖狀態快照的KeyguardControllerState ,如果不支持鍵盤鎖查詢,則返回 Null。

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

獲取主用戶ID

public abstract Integer getMainUserId ()

返回主用戶 ID。

退貨
Integer有主用戶則為主用戶的userId,無主用戶則為null。

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

獲取主線模塊信息

public abstract  getMainlineModuleInfo ()

獲取有關設備上安裝的主線模塊的信息。

退貨
設備上當前安裝的String主線模塊ERROR(/Set)

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

getMaxNumberOfRunningUsersSupported

public abstract int getMaxNumberOfRunningUsersSupported ()

獲取支持的同時運行用戶的最大數量。默認為 0。

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

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

獲取支持的最大用戶數

public abstract int getMaxNumberOfUsersSupported ()

獲取支持的最大用戶數。默認為 0。

退貨
int一個整數,表示支持的用戶數

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

獲取選項

public abstract TestDeviceOptions getOptions ()

獲取設備的測試選項。

退貨
TestDeviceOptions TestDeviceOptions與被測設備相關。

獲取主用戶ID

public abstract Integer getPrimaryUserId ()

返回主要用戶 ID。

退貨
Integer有主用戶則為主用戶的userId,無主用戶則為null。

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

獲取屏幕截圖

public abstract InputStreamSource getScreenshot ()

從設備抓取屏幕截圖。

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

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

獲取屏幕截圖

public abstract InputStreamSource getScreenshot (String format, 
                boolean rescale)

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

參數
format String :支持PNG、JPEG

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

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

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

獲取屏幕截圖

public abstract InputStreamSource getScreenshot (String format)

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

參數
format String :支持PNG、JPEG

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

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

獲取屏幕截圖

public abstract InputStreamSource getScreenshot (long displayId)

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

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

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

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

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

獲取設置

public abstract String getSetting (String namespace, 
                String key)

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

參數
namespace String

key String

退貨
String

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

獲取設置

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

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

參數
userId int

namespace String

key String

退貨
String與用戶的命名空間:鍵關聯的值。如果沒有找到則為空。

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

獲取UninstallablePackageNames

public abstract  getUninstallablePackageNames ()

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

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

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

獲取用戶標誌

public abstract int getUserFlags (int userId)

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

參數
userId int

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

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

獲取用戶信息

public abstract  getUserInfos ()

獲取設備上 useId 到UserInfo的 Map。如果設備的輸出不符合預期,將拋出DeviceRuntimeException

退貨
UserInfo 對象的列表。

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

獲取用戶序列號

public abstract int getUserSerialNumber (int userId)

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

參數
userId int

退貨
int

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

有特徵

public abstract boolean hasFeature (String feature)

檢查設備上是否有可用的功能。

參數
feature String :格式應為“feature: “ 或者 ” “ 直接地。

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

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

安裝包

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

在設備上安裝 Android 軟件包。

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

reinstall boolean : true如果應重新安裝

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

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

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

安裝包

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 -h”。

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

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

為用戶安裝包

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 -h”。

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

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

為用戶安裝包

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 -h”。

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

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

安裝包

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 -h”。

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

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

安裝包

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 -h”。

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

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

為用戶安裝包

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 -h”。

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

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

為用戶安裝包

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 -h”。

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

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

安裝遠程包

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 -h”。

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

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

安裝遠程包

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 -h”。

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

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

isHeadlessSystemUserMode

public abstract boolean isHeadlessSystemUserMode ()

返回設備是否使用無頭系統用戶模式。

退貨
boolean

投擲
DeviceNotAvailableException

是主用戶永久管理員

public abstract boolean isMainUserPermanentAdmin ()

返回主用戶是否是永久管理員且無法刪除或降級為非管理員狀態。

退貨
boolean

投擲
DeviceNotAvailableException

是否支持多用戶

public abstract boolean isMultiUserSupported ()

確定是否支持多用戶。

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

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

軟件包已安裝

public abstract boolean isPackageInstalled (String packageName)

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

參數
packageName String

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

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

軟件包已安裝

public abstract boolean isPackageInstalled (String packageName, 
                String userId)

查詢設備中給定的軟件包名稱和給定的用戶 ID,以檢查當前是否已為該用戶安裝。

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

userId String :我們正在檢查安裝包的用戶 ID。如果為空,則將使用主用戶零。

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

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

正在運行

public abstract boolean isUserRunning (int userId)

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

參數
userId int

退貨
boolean如果用戶正在運行,則為 true;在其他情況下為 false。

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

是用戶次要的

public abstract boolean isUserSecondary (int userId)

根據其標誌返回指定用戶是否為次要用戶。

參數
userId int

退貨
boolean如果用戶是次要用戶,則為 true,否則為 false。

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

是否用戶可見

public abstract boolean isUserVisible (int userId)

檢查給定用戶是否可見。

“可見”用戶是與“人類”用戶交互的用戶,因此能夠啟動啟動活動(通常在默認顯示中)。

參數
userId int

退貨
boolean

投擲
DeviceNotAvailableException

isUserVisibleOnDisplay

public abstract boolean isUserVisibleOnDisplay (int userId, 
                int displayId)

檢查給定用戶在給定顯示中是否可見。

“可見”用戶是與“人類”用戶交互的用戶,因此能夠在該顯示中啟動啟動活動。

參數
userId int

displayId int

退貨
boolean

投擲
DeviceNotAvailableException

isVisibleBackgroundUsersOnDefaultDisplaySupported

public abstract boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

返回設備是否允許用戶在ERROR(/java.android.view.Display#DEFAULT_DISPLAY)中在後台啟動可見。

如果是這樣,您可以調用startVisibleBackgroundUser(int, int, boolean) ,傳遞listDisplayIdsForStartingVisibleBackgroundUsers()返回的顯示(其中應包括ERROR(/java.android.view.Display#DEFAULT_DISPLAY) )。

退貨
boolean

投擲
DeviceNotAvailableException

isVisibleBackgroundUsersSupported

public abstract boolean isVisibleBackgroundUsersSupported ()

返回設備是否允許用戶在後台啟動可見。

如果是這樣,您可以調用startVisibleBackgroundUser(int, int, boolean) ,傳遞listDisplayIdsForStartingVisibleBackgroundUsers()返回的顯示。

退貨
boolean

投擲
DeviceNotAvailableException

是否啟用Wifi

public abstract boolean isWifiEnabled ()

測試 wifi 是否已啟用。

檢查設備上是否啟用了 wifi。對於在不應使用 wifi 運行的測試(例如移動數據測試)之前斷言 wifi 狀態很有用。

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

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

列表顯示 ID

public abstract  listDisplayIds ()

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

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

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

listDisplayIdsForStartingVisibleBackgroundUsers

public abstract  listDisplayIdsForStartingVisibleBackgroundUsers ()

獲取可用於start a user visible in the background顯示列表。

退貨

投擲
DeviceNotAvailableException

列出用戶

public abstract  listUsers ()

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

退貨
用戶 ID 列表。

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

日誌錯誤報告

public abstract boolean logBugreport (String dataName, 
                ITestLogger listener)

獲取錯誤報告並將其記錄給報告者的幫助方法。

參數
dataName String :將報告錯誤報告的名稱。

listener ITestLogger :用於記錄錯誤報告的ITestLogger

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

註冊設備動作接收器

public abstract void registerDeviceActionReceiver (IDeviceActionReceiver deviceActionReceiver)

為此設備註冊一個IDeviceActionReceiver

所有已註冊的IDeviceActionReceiver將在設備操作開始之前和設備操作結束之後收到通知。

參數
deviceActionReceiver IDeviceActionReceiver :將註冊的IDeviceActionReceiver

刪除管理員

public abstract boolean removeAdmin (String componentName, 
                int userId)

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

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

userId int :設備管理員所在的用戶。

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

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

刪除所有者

public abstract void removeOwners ()

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

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

刪除用戶

public abstract boolean removeUser (int userId)

從設備中刪除給定用戶。

參數
userId int : 要刪除的用戶

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

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

設置設備所有者

public abstract boolean setDeviceOwner (String componentName, 
                int userId)

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

參數
componentName String :設備管理員成為設備所有者。

userId int :設備所有者所在的用戶。

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

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

設置設置

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

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

參數
namespace String

key String

value String

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

設置設置

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

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

參數
userId int

namespace String

key String

value String

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

啟動用戶

public abstract boolean startUser (int userId)

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

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

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

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

啟動用戶

public abstract boolean startUser (int userId, 
                boolean waitFlag)

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

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

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

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

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

啟動可見背景用戶

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

在後台啟動給定用戶,在給定顯示中可見(即允許用戶在該顯示中啟動活動)。

注意:此命令不會檢查用戶是否存在、顯示是否可用、 device supports such feature等。

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

displayId int : 顯示開始用戶可見

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

退貨
boolean true如果用戶成功啟動並在後台可見。

投擲
DeviceNotAvailableException

停止用戶

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

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

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

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

forceFlag boolean :將強制停止用戶。

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

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

停止用戶

public abstract boolean stopUser (int userId)

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

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

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

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

切換用戶

public abstract boolean switchUser (int userId)

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

參數
userId int

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

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

切換用戶

public abstract boolean switchUser (int userId, 
                long timeout)

切換到另一個用戶 ID,並以提供的超時為截止時間。用戶更改成功後嘗試禁用鍵盤保護。

參數
userId int

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

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

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

採取錯誤報告

public abstract Bugreport takeBugreport ()

獲取錯誤報告並將其返回到Bugreport對像中以進行處理。如果出現問題,則返回 null。 Bugreport 對像中引用的文件需要通過Bugreport.close()進行清理。

退貨
Bugreport

卸載包

public abstract String uninstallPackage (String packageName)

從設備卸載 Android 軟件包。

參數
packageName String : 要卸載的 Android 包

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

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

卸載用戶包

public abstract String uninstallPackageForUser (String packageName, 
                int userId)

從設備上為給定用戶卸載 Android 軟件包。

參數
packageName String : 要卸載的 Android 包

userId int :要卸載的整數用戶 ID。

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

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