模块推送器

public class ModulePusher
extends Object

java.lang.Object
com.android.tradefed.targetprep.ModulePusher


概括

嵌套类

class ModulePusher.ModulePushError

Mainline 模块推送期间的致命错误。

字段

public static final String LINE_BREAK

公共构造函数

ModulePusher ( ITestDevice device, long waitTimeMs, long delayWaitingTimeMs)

公共方法

void installModules (ImmutableMultimap<String, File> moduleFiles, boolean factoryReset, boolean disablePackageCache)

通过 adb push 将moduleFiles安装到设备。

受保护的方法

void checkApexActivated ( ITestDevice device, modules) checkApexActivated ( ITestDevice device, modules)

检查是否所有顶点都已激活。

Path getApexPathUnderSystem ( ITestDevice device, String packageName)
getModulesFailToActivate ( toInstall, activatedApexes) getModulesFailToActivate ( toInstall, activatedApexes) getModulesFailToActivate ( toInstall, activatedApexes)

获取激活失败的模块。

String[] getPathsOnDevice ( ITestDevice device, String packageName)

获取包的安装文件在设备上的路径。

Path[] getPreloadPaths ( ITestDevice device, File[] moduleFiles, String packageName, int apiLevel)

获取设备上预加载包的路径。

ImmutableMap<String, String> parsePackageVersionCodes (String output)

将 "package:{key} versionCode:{value}" 行解析为映射。

void setupDevice ( ITestDevice device)

adb root 并在 /system 下推送文件之前重新挂载设备

void waitForDeviceToBeResponsive (long waitTime)

字段

越线

public static final String LINE_BREAK

公共构造函数

模块推送器

public ModulePusher (ITestDevice device, 
                long waitTimeMs, 
                long delayWaitingTimeMs)

参数
device ITestDevice

waitTimeMs long

delayWaitingTimeMs long

公共方法

安装模块

public void installModules (ImmutableMultimap<String, File> moduleFiles, 
                boolean factoryReset, 
                boolean disablePackageCache)

通过 adb push 将moduleFiles安装到设备。

参数
moduleFiles ImmutableMultimap :从包名称到包文件的多重映射。在拆分情况下,基本包应该是迭代顺序中的第一个。

factoryReset boolean :如果通过恢复出厂设置重新加载。

disablePackageCache boolean

投掷
DeviceNotAvailableException
ModulePusher.ModulePushError
TargetSetupError

受保护的方法

checkApex已激活

protected void checkApexActivated (ITestDevice device, 
                 modules)

检查是否所有顶点都已激活。

参数
device ITestDevice :正在测试中。

modules

投掷
ModulePusher.ModulePushError如果激活失败。
DeviceNotAvailableException

getApexPathUnderSystem

protected Path getApexPathUnderSystem (ITestDevice device, 
                String packageName)

参数
device ITestDevice

packageName String

退货
Path

投掷
DeviceNotAvailableException
ModulePusher.ModulePushError

getModulesFailToActivate

protected  getModulesFailToActivate ( toInstall, 
                 activatedApexes)

获取激活失败的模块。

参数
toInstall

activatedApexes :设备上的活动顶点集

退货
包含未能激活的输入顶点模块的顶点信息的列表。

getPathsOnDevice

protected String[] getPathsOnDevice (ITestDevice device, 
                String packageName)

获取包的安装文件在设备上的路径。

参数
device ITestDevice :正在测试中

packageName String :模块的

退货
String[]包的所有文件的路径

投掷
DeviceNotAvailableException如果设备不可用
ModulePusher.ModulePushError

获取预加载路径

protected Path[] getPreloadPaths (ITestDevice device, 
                File[] moduleFiles, 
                String packageName, 
                int apiLevel)

获取设备上预加载包的路径。

对于拆分包,返回包目录的路径,后跟文件的路径。因此,在这种情况下,return 的大小始终 > 1。对于非拆分包,只需返回预加载安装文件的路径。

参数
device ITestDevice :正在测试中

moduleFiles File :要安装的本地模块文件

packageName String :模块的

apiLevel int : 设备的

退货
Path[]预加载文件的路径。

投掷
DeviceNotAvailableException
ModulePusher.ModulePushError

parsePackageVersionCodes

protected ImmutableMap<String, String> parsePackageVersionCodes (String output)

将 "package:{key} versionCode:{value}" 行解析为映射。

参数
output String

退货
ImmutableMap<String, String>

设置设备

protected void setupDevice (ITestDevice device)

adb root 并在 /system 下推送文件之前重新挂载设备

参数
device ITestDevice

投掷
ModulePusher.ModulePushError如果设备无法重新安装。
DeviceNotAvailableException如果设备不可用。

waitForDeviceToBeResponsive

protected void waitForDeviceToBeResponsive (long waitTime)

参数
waitTime long