测试设备

public class TestDevice
extends NativeDevice

java.lang.Object
com.android.tradefed.device.NativeDevice
com.android.tradefed.device.TestDevice


为全栈 android 设备实现ITestDevice

概括

嵌套类

class TestDevice.MicrodroidBuilder

用于创建 Microdroid TestDevice 的构建器。

字段

public static final String DISMISS_KEYGUARD_CMD

可用于关闭键盘锁的命令。

公共构造函数

TestDevice (IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

公共方法

boolean canSwitchToHeadlessSystemUser ()

返回是否允许切换到无头 SYSTEM 用户。

boolean clearErrorDialogs ()

尝试关闭当前显示在设备 UI 上的任何错误对话框。

int createUser (String name)

创建一个具有给定名称和默认标志 ​​0 的用户。

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

使用给定名称和提供的标志创建用户

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

使用给定名称和提供的标志创建用户

int createUserNoThrow (String name)

创建一个具有给定名称和默认标志 ​​0 的用户。

void disableKeyguard ()

尝试禁用键盘锁。

boolean doesFileExist (String deviceFilePath)

确定设备上的文件是否存在的辅助方法。

boolean doesFileExist (String deviceFilePath, int userId)

确定给定用户设备上的文件是否存在的辅助方法。

File dumpHeap (String process, String devicePath)

尝试从 system_server 转储堆。

getActiveApexes ()

获取有关设备上激活的 APEX 的信息。

getAllSettings (String namespace)

返回请求的命名空间的键值对。

String getAndroidId (int userId)

查找并返回与 userId 关联的 android-id,如果找不到则返回 null。

getAndroidIds ()

创建一个找到匹配用户 ID 的 Android ID 地图。

PackageInfo getAppPackageInfo (String packageName)

获取有关安装在设备上的包的信息。

getAppPackageInfos ()

获取设备上安装的包的信息。

InputStreamSource getBugreport ()

从设备中检索错误报告。

InputStreamSource getBugreportz ()

从设备中检索 bugreportz。

DeviceFoldableState getCurrentFoldableState ()

返回设备的当前可折叠状态,如果出现某些问题则返回 null。

int getCurrentUser ()

返回当前运行用户的 id。

getFoldableStates ()

返回设备上的可折叠状态列表。

getInstalledPackageNames ()

获取设备上存在的应用程序包名称。

KeyguardControllerState getKeyguardState ()

返回一个对象以获取键盘锁的当前状态,如果不支持则返回 null。

Integer getMainUserId ()

返回主用户 ID。

getMainlineModuleInfo ()

获取有关设备上安装的主线模块的信息。

int getMaxNumberOfRunningUsersSupported ()

获取支持的同时运行用户的最大数量。

int getMaxNumberOfUsersSupported ()

获取支持的最大用户数。

Integer getPrimaryUserId ()

返回主用户 ID。

InputStreamSource getScreenshot ()

从设备抓取屏幕截图。

InputStreamSource getScreenshot (String format, boolean rescale)

从设备抓取屏幕截图。

InputStreamSource getScreenshot (String format)

从设备抓取屏幕截图。

InputStreamSource getScreenshot (long displayId)

从给定显示 ID 的设备抓取屏幕截图。

String getSetting (String namespace, String key)

请参阅getSetting(int, String, String)并在系统用户上执行。

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

返回请求设置的值。

getUninstallablePackageNames ()

获取可卸载的应用程序包名称。

int getUserFlags (int userId)

查找并返回给定用户的标志。

getUserInfos ()

获取设备上useId到UserInfo的Map。

int getUserSerialNumber (int userId)

如果找到,则返回与 userId 关联的序列号,在任何其他情况下返回 -10000。

boolean hasFeature (String feature)

检查某项功能是否在设备上可用。

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

在设备上安装 Android 包。

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

在设备上安装 Android 包。

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

在设备上安装 Android 包。

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

为给定用户在设备上安装 Android 包。

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

为给定用户在设备上安装 Android 包。

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

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

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

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

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

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

boolean isAppEnumerationSupported ()

检查设备上的平台是否支持应用枚举

boolean isHeadlessSystemUserMode ()

返回设备是否使用无头系统用户模式。

boolean isMainUserPermanentAdmin ()

返回主用户是否是永久管理员并且不能被删除或降级为非管理员状态。

boolean isMultiUserSupported ()

确定是否支持多用户。

boolean isPackageInstalled (String packageName)

在设备上查询给定的包名称以检查它当前是否已安装。

boolean isPackageInstalled (String packageName, String userId)

查询设备以获取给定的包名称和给定的用户 ID,以检查当前是否为该用户安装了它。

boolean isUserRunning (int userId)

检查给定用户是否正在运行。

boolean isUserSecondary (int userId)

根据其标志返回指定用户是否为二级用户。

boolean isUserVisible (int userId)

检查给定用户是否可见。

boolean isUserVisibleOnDisplay (int userId, int displayId)

检查给定用户是否在给定显示中可见。

boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

ERROR(/java.android.view.Display#DEFAULT_DISPLAY)中返回设备是否允许用户在后台可见。

boolean isVisibleBackgroundUsersSupported ()

返回设备是否允许用户在后台可见启动。

listDisplayIds ()

收集“dumpsys SurfaceFlinger”报告的设备上可用显示 ID 的列表。

listDisplayIdsForStartingVisibleBackgroundUsers ()

获取可用于start a user visible in the background的显示列表。

listUsers ()

获取设备上的用户列表。

boolean logBugreport (String dataName, ITestLogger listener)

获取错误报告并将其记录给记者的帮助方法。

void postInvocationTearDown (Throwable exception)

特定于设备的额外步骤需要清理,将在调用完成后执行。

boolean removeAdmin (String componentName, int userId)

删除给定用户中的给定设备管理员,如果成功则返回true ,否则返回false

void removeOwners ()

尽最大努力删除所有现有的设备配置文件所有者。

boolean removeUser (int userId)

从设备中删除给定的用户。

boolean setDeviceOwner (String componentName, int userId)

将设备管理组件设置为给定用户的设备所有者。

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

请参阅setSetting(int, String, String, String)并在系统用户上执行。

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

将设置值添加到给定用户的名称空间。

void shutdownMicrodroid ( ITestDevice microdroidDevice)

关闭微型机器人设备(如果存在)。

boolean startUser (int userId)

如果当前已停止,则在后台启动给定用户。

boolean startUser (int userId, boolean waitFlag)

如果当前已停止,则在后台启动给定用户。

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

在后台启动给定用户,在给定显示中可见(即,允许用户在该显示中启动活动)。

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

停止给定的用户。

boolean stopUser (int userId)

停止给定的用户。

boolean supportsMicrodroid ()

检查运行微型机器人的先决条件。

boolean supportsMicrodroid (boolean protectedVm)

检查运行微型机器人的先决条件。

boolean switchUser (int userId)

切换到另一个具有默认超时的 userId。

boolean switchUser (int userId, long timeout)

以提供的超时为截止日期切换到另一个 userId。

Bugreport takeBugreport ()

获取错误报告并将其返回到Bugreport对象中以进行处理。

String uninstallPackage (String packageName)

从设备卸载 Android 包。

String uninstallPackageForUser (String packageName, int userId)

从给定用户的设备中卸载 Android 包。

受保护的方法

AaptParser createParser (File appFile)
void doAdbReboot ( NativeDevice.RebootMode rebootMode, String reason)

执行 adb 重启。

InputStreamSource getBugreportInternal ()
File getBugreportzInternal ()

将 bugreportz zip 文件作为ERROR(/File)获取的内部帮助程序方法。

long getCheckNewUserSleep ()

暴露测试。

long getHostCurrentTime ()

暴露测试

void prePostBootSetup ()

允许每种设备类型(AndroidNativeDevice、TestDevice)为特定的启动后设置覆盖此方法。

字段

DISMISS_KEYGUARD_CMD

public static final String DISMISS_KEYGUARD_CMD

可用于关闭键盘锁的命令。

公共构造函数

测试设备

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

公共方法

可以切换到无头系统用户

public boolean canSwitchToHeadlessSystemUser ()

返回是否允许切换到无头 SYSTEM 用户。

退货
boolean

投掷
DeviceNotAvailableException

清除错误对话框

public boolean clearErrorDialogs ()

尝试关闭当前显示在设备 UI 上的任何错误对话框。

退货
boolean如果不存在对话框或对话框已成功清除, true 。否则为false

投掷
DeviceNotAvailableException

创建用户

public int createUser (String name)

创建一个具有给定名称和默认标志 ​​0 的用户。

参数
name String : 要在设备上创建的用户

退货
int创建的用户 ID 的整数

投掷
DeviceNotAvailableException

创建用户

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

使用给定名称和提供的标志创建用户

参数
name String : 要在设备上创建的用户

guest boolean :在创建期间启用用户标志 --guest

ephemeral boolean :在创建期间启用用户标志 --ephemeral

forTesting boolean :在创建期间启用测试标志 --for-testing

退货
int创建的用户id

投掷
DeviceNotAvailableException

创建用户

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

使用给定名称和提供的标志创建用户

参数
name String : 要在设备上创建的用户

guest boolean :在创建期间启用用户标志 --guest

ephemeral boolean :在创建期间启用用户标志 --ephemeral

退货
int创建的用户id

投掷
DeviceNotAvailableException

createUserNoThrow

public int createUserNoThrow (String name)

创建一个具有给定名称和默认标志 ​​0 的用户。

参数
name String : 要在设备上创建的用户

退货
int创建的用户 ID 的整数或 -1 表示错误。

投掷
DeviceNotAvailableException

禁用键盘锁

public void disableKeyguard ()

尝试禁用键盘锁。

首先等待输入调度准备就绪,这发生在设备报告 BOOT_COMPLETE 的同时,显然是异步的,因为当前框架实现偶尔会出现竞争条件。然后发送命令以关闭键盘锁(仅适用于非安全键盘锁)

投掷
DeviceNotAvailableException

文件是否存在

public boolean doesFileExist (String deviceFilePath)

确定设备上的文件是否存在的辅助方法。

参数
deviceFilePath String : 要检查的设备上文件的绝对路径

退货
boolean如果文件存在true ,否则为false

投掷
DeviceNotAvailableException

文件是否存在

public boolean doesFileExist (String deviceFilePath, 
                int userId)

确定给定用户设备上的文件是否存在的辅助方法。

参数
deviceFilePath String : 要检查的设备上文件的绝对路径

userId int :用于检查文件是否存在的用户 ID

退货
boolean如果文件存在true ,否则为false

投掷
DeviceNotAvailableException

转储堆

public File dumpHeap (String process, 
                String devicePath)

尝试从 system_server 转储堆。清理转储文件是调用者的责任。

参数
process String :要转储到的设备进程的名称。

devicePath String :设备上放置转储的路径。这必须是权限允许的位置。

退货
File包含报告的ERROR(/File) 。如果失败则为空。

投掷
DeviceNotAvailableException

获取活动顶点

public  getActiveApexes ()

获取有关设备上激活的 APEX 的信息。

退货
当前在设备上激活的ApexInfoERROR(/Set)

投掷
DeviceNotAvailableException

获取所有设置

public  getAllSettings (String namespace)

返回请求的命名空间的键值对。

参数
namespace String :必须是 {"system", "secure", "global"} 之一

退货
键值对的映射。如果不支持名称空间,则为空。

投掷
DeviceNotAvailableException

获取AndroidId

public String getAndroidId (int userId)

查找并返回与 userId 关联的 android-id,如果找不到则返回 null。

参数
userId int

退货
String

投掷
DeviceNotAvailableException

获取AndroidIds

public  getAndroidIds ()

创建一个找到匹配用户 ID 的 Android ID 地图。无法保证每个用户 ID 都会找到一个与此函数关联的 Android ID,因此某些用户 ID 可能匹配 null。

退货
android id 映射找到匹配的用户 id。

投掷
DeviceNotAvailableException

获取应用程序包信息

public PackageInfo getAppPackageInfo (String packageName)

获取有关安装在设备上的包的信息。

参数
packageName String

退货
PackageInfo PackageInfonull (如果无法检索到信息)

投掷
DeviceNotAvailableException

获取应用程序包信息

public  getAppPackageInfos ()

获取设备上安装的包的信息。

退货
设备上安装的PackageInfoERROR(/List)

投掷
DeviceNotAvailableException

获取错误报告

public InputStreamSource getBugreport ()

从设备中检索错误报告。

此实现保证在没有 sdcard 的设备(或尚未安装 sdcard 的设备)上继续工作。

退货
InputStreamSource InputStreamSource将按需生成错误报告内容。万一失败, InputStreamSource将产生一个空的ERROR(/InputStream)

getBugreportz

public InputStreamSource getBugreportz ()

从设备中检索 bugreportz。 Zip 格式的 bugreport 包含主要的 bugreport 和其他对调试有用的日志文件。

仅支持 'adb version' > 1.0.36

退货
InputStreamSource包含 bugreportz 的 zip 文件的InputStreamSource ,如果失败则返回 null。

获取当前可折叠状态

public DeviceFoldableState getCurrentFoldableState ()

返回设备的当前可折叠状态,如果出现某些问题则返回 null。

退货
DeviceFoldableState

投掷
DeviceNotAvailableException

获取当前用户

public int getCurrentUser ()

返回当前运行用户的 id。如果出错,返回 -10000。

退货
int

投掷
DeviceNotAvailableException

获取可折叠状态

public  getFoldableStates ()

返回设备上的可折叠状态列表。可以通过“cmd device_state print-states”获得。

退货

投掷
DeviceNotAvailableException

getInstalledPackageNames

public  getInstalledPackageNames ()

获取设备上存在的应用程序包名称。

退货
设备上当前安装的ERROR(/String)包名称的ERROR(/Set)

投掷
DeviceNotAvailableException

获取键盘锁状态

public KeyguardControllerState getKeyguardState ()

返回一个对象以获取键盘锁的当前状态,如果不支持则返回 null。

退货
KeyguardControllerState包含键盘状态快照的KeyguardControllerState ,如果不支持键盘锁查询,则返回 Null。

投掷
DeviceNotAvailableException

获取主用户Id

public Integer getMainUserId ()

返回主用户 ID。

退货
Integer如果有主用户,则为主用户的userId,如果没有主用户,则为null。

投掷
DeviceNotAvailableException

获取主线模块信息

public  getMainlineModuleInfo ()

获取有关设备上安装的主线模块的信息。

退货
当前安装在设备上的ERROR(/String)主线模块的ERROR(/Set)

投掷
DeviceNotAvailableException

getMaxNumberOfRunningUsersSupported

public int getMaxNumberOfRunningUsersSupported ()

获取支持的同时运行用户的最大数量。默认为 0。

退货
int一个整数,指示同时运行的用户数

投掷
DeviceNotAvailableException

getMaxNumberOfUsersSupported

public int getMaxNumberOfUsersSupported ()

获取支持的最大用户数。默认为 0。

退货
int一个整数,表示支持的用户数

投掷
DeviceNotAvailableException

获取PrimaryUserId

public Integer getPrimaryUserId ()

返回主用户 ID。

退货
Integer如果有主用户,则为主用户的 userId;如果没有主用户,则为 null。

投掷
DeviceNotAvailableException

截屏

public InputStreamSource getScreenshot ()

从设备抓取屏幕截图。

退货
InputStreamSource png 格式的屏幕截图的InputStreamSource ,如果屏幕截图不成功,则为null

投掷
DeviceNotAvailableException

截屏

public InputStreamSource getScreenshot (String format, 
                boolean rescale)

从设备抓取屏幕截图。建议使用getScreenshot(String)而不是 JPEG 编码以获得更小的尺寸。

参数
format String :支持的 PNG、JPEG

rescale boolean :是否应重新缩放屏幕截图以减小生成图像的大小

退货
InputStreamSource格式的屏幕截图的InputStreamSource ,如果屏幕截图不成功,则为null

投掷
DeviceNotAvailableException

截屏

public InputStreamSource getScreenshot (String format)

从设备抓取屏幕截图。建议使用 getScreenshot(format) 而不是 JPEG 编码以获得更小的尺寸

参数
format String :支持的 PNG、JPEG

退货
InputStreamSource格式的屏幕截图的InputStreamSource ,如果屏幕截图不成功,则为null

投掷
DeviceNotAvailableException

截屏

public InputStreamSource getScreenshot (long displayId)

从给定显示 ID 的设备抓取屏幕截图。格式为 PNG。

TODO:扩展上面的实现以支持'format'和'rescale'

参数
displayId long :要从中获取屏幕截图的屏幕的显示 ID。

退货
InputStreamSource格式的屏幕截图的InputStreamSource ,如果屏幕截图不成功,则为null

投掷
DeviceNotAvailableException

获取设置

public String getSetting (String namespace, 
                String key)

请参阅getSetting(int, String, String)并在系统用户上执行。

参数
namespace String

key String

退货
String

投掷
DeviceNotAvailableException

获取设置

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

返回请求设置的值。命名空间必须是以下之一:{"system", "secure", "global"}

参数
userId int

namespace String

key String

退货
String与名称空间关联的值:用户的键。如果找不到则为空。

投掷
DeviceNotAvailableException

getUninstallablePackageNames

public  getUninstallablePackageNames ()

获取可卸载的应用程序包名称。这目前被定义为非系统包和更新的系统包。

退货
当前安装在设备上的可卸载ERROR(/String)包名称的ERROR(/Set)

投掷
DeviceNotAvailableException

获取用户标志

public int getUserFlags (int userId)

查找并返回给定用户的标志。标志在 Android 开源项目的“android.content.pm.UserInfo”类中定义。

参数
userId int

退货
int如果找到,与提供的 userId 关联的标志,在任何其他情况下为 -10000。

投掷
DeviceNotAvailableException

获取用户信息

public  getUserInfos ()

获取设备上useId到UserInfo的Map。如果设备的输出不符合预期,将抛出DeviceRuntimeException

退货
UserInfo 对象列表。

投掷
DeviceNotAvailableException

获取用户序列号

public int getUserSerialNumber (int userId)

如果找到,则返回与 userId 关联的序列号,在任何其他情况下返回 -10000。

参数
userId int

退货
int

投掷
DeviceNotAvailableException

有特征

public boolean hasFeature (String feature)

检查某项功能是否在设备上可用。

参数
feature String : 哪种格式应该是 "feature: “ 或者 ” “ 直接地。

退货
boolean如果找到特征则为真,否则为假。

投掷
DeviceNotAvailableException

安装包

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

在设备上安装 Android 包。

参数
packageFile File :要安装的apk文件

reinstall boolean : true如果应该执行重新安装

extraArgs String :要传递的可选额外参数。有关可用选项,请参阅“adb shell pm -h”。

退货
String带有错误代码的ERROR(/String) ,如果成功则为null

投掷
DeviceNotAvailableException

安装包

public 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带有错误代码的ERROR(/String) ,如果成功则为null

投掷
DeviceNotAvailableException

安装包

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

在设备上安装 Android 包。

注意:只有在安装时需要明确控制授予运行时权限的用例才应调用此函数。

参数
packageFile File :要安装的apk文件

certFile File :如果应执行重新安装,则为true

reinstall boolean :是否应在安装时授予所有运行时权限

extraArgs String :要传递的可选额外参数。有关可用选项,请参阅“adb shell pm -h”。

退货
String带有错误代码的ERROR(/String) ,如果成功则为null

投掷
DeviceNotAvailableException

installPackageForUser

public 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带有错误代码的ERROR(/String) ,如果成功则为null

投掷
DeviceNotAvailableException

installPackageForUser

public 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带有错误代码的ERROR(/String) ,如果成功则为null

投掷
DeviceNotAvailableException

安装包

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

参数
packageFiles

reinstall boolean

extraArgs String

退货
String

投掷
DeviceNotAvailableException

安装包

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

参数
packageFiles

reinstall boolean

grantPermissions boolean

extraArgs String

退货
String

投掷
DeviceNotAvailableException

installPackagesForUser

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

参数
packageFiles

reinstall boolean

grantPermissions boolean

userId int

extraArgs String

退货
String

投掷
DeviceNotAvailableException

installPackagesForUser

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

参数
packageFiles

reinstall boolean

userId int

extraArgs String

退货
String

投掷
DeviceNotAvailableException

安装远程包

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

参数
remoteApkPaths

reinstall boolean

extraArgs String

退货
String

投掷
DeviceNotAvailableException

安装远程包

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

参数
remoteApkPaths

reinstall boolean

grantPermissions boolean

extraArgs String

退货
String

投掷
DeviceNotAvailableException

isAppEnumerationSupported

public boolean isAppEnumerationSupported ()

检查设备上的平台是否支持应用枚举

退货
boolean如果支持应用程序枚举,则为 True,否则为 false

投掷
DeviceNotAvailableException

isHeadlessSystemUserMode

public boolean isHeadlessSystemUserMode ()

返回设备是否使用无头系统用户模式。

退货
boolean

投掷
DeviceNotAvailableException

isMainUserPermanentAdmin

public boolean isMainUserPermanentAdmin ()

返回主用户是否是永久管理员并且不能被删除或降级为非管理员状态。

退货
boolean

投掷
DeviceNotAvailableException

isMultiUserSupported

public boolean isMultiUserSupported ()

确定是否支持多用户。

退货
boolean如果支持多用户,则为 true,否则为 false

投掷
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName)

在设备上查询给定的包名称以检查它当前是否已安装。

参数
packageName String

退货
boolean如果包被报告为已安装则为真。否则为假。

投掷
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName, 
                String userId)

查询设备以获取给定的包名称和给定的用户 ID,以检查当前是否为该用户安装了它。

参数
packageName String :我们正在检查是否已安装的包。

userId String :我们正在检查安装包的用户 ID。如果为空,将使用主用户零。

退货
boolean如果包被报告为已安装则为真。否则为假。

投掷
DeviceNotAvailableException

isUserRunning

public boolean isUserRunning (int userId)

检查给定用户是否正在运行。

参数
userId int

退货
boolean如果用户正在运行则为真,其他情况下为假。

投掷
DeviceNotAvailableException

isUserSecondary

public boolean isUserSecondary (int userId)

根据其标志返回指定用户是否为二级用户。

参数
userId int

退货
boolean如果用户是次要用户,则为 true,否则为 false。

投掷
DeviceNotAvailableException

用户可见

public boolean isUserVisible (int userId)

检查给定用户是否可见。

“可见”用户是与“人类”用户交互的用户,因此能够启动启动活动(通常在默认显示中)。

参数
userId int

退货
boolean

投掷
DeviceNotAvailableException

isUserVisibleOnDisplay

public boolean isUserVisibleOnDisplay (int userId, 
                int displayId)

检查给定用户是否在给定显示中可见。

“可见”用户是与“人类”用户交互并因此能够在该显示中启动启动活动的用户。

参数
userId int

displayId int

退货
boolean

投掷
DeviceNotAvailableException

isVisibleBackgroundUsersOnDefaultDisplaySupported

public 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 boolean isVisibleBackgroundUsersSupported ()

返回设备是否允许用户在后台可见启动。

如果是,您可以调用startVisibleBackgroundUser(int, int, boolean) ,传递由listDisplayIdsForStartingVisibleBackgroundUsers()返回的显示。

退货
boolean

投掷
DeviceNotAvailableException

listDisplayIds

public  listDisplayIds ()

收集“dumpsys SurfaceFlinger”报告的设备上可用显示 ID 的列表。

退货
显示列表。默认始终返回默认显示 0。

投掷
DeviceNotAvailableException

listDisplayIdsForStartingVisibleBackgroundUsers

public  listDisplayIdsForStartingVisibleBackgroundUsers ()

获取可用于start a user visible in the background的显示列表。

退货

投掷
DeviceNotAvailableException

列出用户

public  listUsers ()

获取设备上的用户列表。如果设备的输出不符合预期,将抛出DeviceRuntimeException

退货
用户 ID 列表。

投掷
DeviceNotAvailableException

日志错误报告

public boolean logBugreport (String dataName, 
                ITestLogger listener)

获取错误报告并将其记录给记者的帮助方法。

参数
dataName String : 错误报告将在其下报告的名称。

listener ITestLogger :用于记录错误报告的ITestLogger

退货
boolean如果记录成功则为真,否则为假。

postInvocationTearDown

public void postInvocationTearDown (Throwable exception)

特定于设备的额外步骤需要清理,将在调用完成后执行。

参数
exception Throwable :如果有的话,调用失败引发的最终异常。

删除管理员

public boolean removeAdmin (String componentName, 
                int userId)

删除给定用户中的给定设备管理员,如果成功则返回true ,否则返回false

参数
componentName String :要删除的设备管理员。

userId int :设备管理员所在的用户。

退货
boolean如果成功则为真,否则为假。

投掷
DeviceNotAvailableException

删除所有者

public void removeOwners ()

尽最大努力删除所有现有的设备配置文件所有者。

投掷
DeviceNotAvailableException

删除用户

public boolean removeUser (int userId)

从设备中删除给定的用户。

参数
userId int : 要删除的用户

退货
boolean如果我们成功删除了用户,则为 true,否则为 false。

投掷
DeviceNotAvailableException

设置设备所有者

public boolean setDeviceOwner (String componentName, 
                int userId)

将设备管理组件设置为给定用户的设备所有者。

参数
componentName String :设备管理员的设备所有者。

userId int :设备所有者所在的用户。

退货
boolean如果成功则为真,否则为假。

投掷
DeviceNotAvailableException

设定设定

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

请参阅setSetting(int, String, String, String)并在系统用户上执行。

参数
namespace String

key String

value String

投掷
DeviceNotAvailableException

设定设定

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

将设置值添加到给定用户的名称空间。某些设置仅在重新启动后可用。命名空间必须是以下之一:{"system", "secure", "global"}

参数
userId int

namespace String

key String

value String

投掷
DeviceNotAvailableException

关机微软

public void shutdownMicrodroid (ITestDevice microdroidDevice)

关闭微型机器人设备(如果存在)。

参数
microdroidDevice ITestDevice

投掷
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

启动用户

public boolean startUser (int userId)

如果当前已停止,则在后台启动给定用户。如果用户已经在后台运行,则此方法是 NOOP。

参数
userId int : 在后台启动的用户

退货
boolean如果用户在后台成功启动,则为真。

投掷
DeviceNotAvailableException

启动用户

public boolean startUser (int userId, 
                boolean waitFlag)

如果当前已停止,则在后台启动给定用户。如果用户已经在后台运行,则此方法是 NOOP。可以提供额外的标志以等待操作生效。

参数
userId int : 在后台启动的用户

waitFlag boolean :将使命令等待,直到用户启动并解锁。

退货
boolean如果用户在后台成功启动,则为真。

投掷
DeviceNotAvailableException

startVisibleBackgroundUser

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

在后台启动给定用户,在给定显示中可见(即,允许用户在该显示中启动活动)。

注意:此命令不会检查用户是否存在、显示是否可用、 device supports such feature等。

参数
userId int : 在后台启动的用户

displayId int : 显示开始用户可见

waitFlag boolean :将使命令等待,直到用户启动并解锁。

退货
boolean如果用户成功启动并在后台可见, true

投掷
DeviceNotAvailableException

停止用户

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

停止给定的用户。可以提供额外的标志以等待操作生效,并强制终止用户。无法停止当前和系统用户。

参数
userId int :要停止的用户。

waitFlag boolean :将使命令等待,直到用户停止。

forceFlag boolean :将强制停止用户。

退货
boolean如果用户已成功停止,则为真。

投掷
DeviceNotAvailableException

停止用户

public boolean stopUser (int userId)

停止给定的用户。如果用户已经停止,则此方法是 NOOP。无法停止当前和系统用户。

参数
userId int :要停止的用户。

退货
boolean如果用户已成功停止,则为真。

投掷
DeviceNotAvailableException

支持Microdroid

public boolean supportsMicrodroid ()

检查运行微型机器人的先决条件。

退货
boolean如果满足前提条件则返回 true,否则返回 false。

支持Microdroid

public boolean supportsMicrodroid (boolean protectedVm)

检查运行微型机器人的先决条件。

参数
protectedVm boolean :如果 microdroid 打算在受保护的 VM 上运行,则为 true。

退货
boolean如果满足前提条件则返回 true,否则返回 false。

切换用户

public boolean switchUser (int userId)

切换到另一个具有默认超时的 userId。 switchUser(int, long)

参数
userId int

退货
boolean如果新的 userId 与 userId 提供程序匹配,则为真。否则为假。

投掷
DeviceNotAvailableException

切换用户

public boolean switchUser (int userId, 
                long timeout)

以提供的超时为截止日期切换到另一个 userId。用户更改成功后尝试禁用键盘锁。

参数
userId int

timeout long :在为 switch-user 失败返回 false 之前等待。

退货
boolean如果新的 userId 与 userId 提供程序匹配,则为真。否则为假。

投掷
DeviceNotAvailableException

采取错误报告

public Bugreport takeBugreport ()

获取错误报告并将其返回到Bugreport对象中以进行处理。出现问题时返回 null。 Bugreport 对象中引用的文件需要通过Bugreport.close()清理。

退货
Bugreport

卸载包

public String uninstallPackage (String packageName)

从设备卸载 Android 包。

参数
packageName String : 要卸载的 Android 包

退货
String带有错误代码的ERROR(/String) ,如果成功则为null

投掷
DeviceNotAvailableException

uninstallPackageForUser

public String uninstallPackageForUser (String packageName, 
                int userId)

从给定用户的设备中卸载 Android 包。

参数
packageName String : 要卸载的 Android 包

userId int :要为其卸载的整数用户 ID。

退货
String带有错误代码的ERROR(/String) ,如果成功则为null

投掷
DeviceNotAvailableException

受保护的方法

创建解析器

protected AaptParser createParser (File appFile)

参数
appFile File

退货
AaptParser

doAdbReboot

protected void doAdbReboot (NativeDevice.RebootMode rebootMode, 
                String reason)

执行 adb 重启。

参数
rebootMode NativeDevice.RebootMode :此重启的一种模式。

reason String :用于此次重启。

投掷
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

获取错误报告内部

protected InputStreamSource getBugreportInternal ()

退货
InputStreamSource

getBugreportzInternal

protected File getBugreportzInternal ()

将 bugreportz zip 文件作为ERROR(/File)获取的内部帮助程序方法。

退货
File

getCheckNewUserSleep

protected long getCheckNewUserSleep ()

暴露测试。

退货
long

获取主机当前时间

protected long getHostCurrentTime ()

暴露测试

退货
long

启动后设置

protected void prePostBootSetup ()

允许每种设备类型(AndroidNativeDevice、TestDevice)为特定的启动后设置覆盖此方法。

投掷
DeviceNotAvailableException