模块推送器
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 将 |
受保护的方法 | |
---|---|
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
protectedgetModulesFailToActivate ( 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 |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2022-11-07 UTC.
[]
[]