Google 致力于为黑人社区推动种族平等。查看具体举措
此页面由 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其中包含键盘锁状态的快照,如果不支持Keyguard查询,则返回Null。

投掷
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

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与设备的连接丢失并且无法恢复。