InstallApexModuleTargetPreparer
public
class
InstallApexModuleTargetPreparer
extends SuiteApkInstaller
java.lang.Object 中 | ||||
↳ | com.android.tradefed.targetprep.BaseTargetPreparer | |||
↳ | com.android.tradefed.targetprep.TestAppInstallSetup | |||
↳ | com.android.tradefed.targetprep.suite.SuiteApkInstaller | |||
↳ | com.android.tradefed.targetprep.InstallApexModuleTargetPreparer |
摘要
字段 | |
---|---|
protected
static
final
String |
APEX_OPTION
|
protected
static
final
String |
APEX_SUFFIX
|
protected
static
final
String |
APK_SUFFIX
|
protected
static
final
String |
APK_ZIP_OPTION
|
protected
static
final
String |
CHILD_SESSION_CREATION_CMD
|
protected
static
final
String |
PARENT_SESSION_CREATION_CMD
|
public
static
final
String |
ROLLBACK_STATE_COMMITTED
|
public
static
final
String |
ROLLBACK_STATE_UNKNOWN
|
protected
static
final
String |
SPLIT_APKS_SUFFIX
|
protected
File |
mTrainFolderPath
|
公共构造函数 | |
---|---|
InstallApexModuleTargetPreparer()
|
公共方法 | |
---|---|
|
getModulesToInstall(TestInformation testInfo)
根据在模块序列上预加载的模块,获取应安装在模块序列上的模块 设备。 |
void
|
setIgnoreIfNotPreloaded(boolean skip)
|
void
|
setSkipApexTearDown(boolean skip)
|
void
|
setUp(TestInformation testInfo)
|
void
|
tearDown(TestInformation testInfo, Throwable e)
|
受保护的方法 | |
---|---|
void
|
addApksToTestFiles()
|
void
|
addStagedReadyTimeoutForAdb(
|
void
|
addTimeoutMillisForBundletool(
|
void
|
checkApexActivation(ITestDevice device)
检查是否所有顶端都已激活。 |
|
collectApexInfoFromApexModules(
从 APEX 模块收集 APEX 信息,以进行激活检查。 |
|
getApkInstalled()
|
String
|
getBundletoolFileName()
|
BundletoolUtil
|
getBundletoolUtil()
|
String
|
getModuleKeywordFromApexPackageName(String packageName)
获取关键字(例如,“tzdata”(针对 com.android.tzdata.apex)。 |
|
getModulesFailToActivate(
获取未能激活的模块。 |
|
getSplitsForApks(TestInformation testInfo, File moduleFile)
提取并返回指定 APK 的拆分。 |
void
|
initBundletoolUtil(TestInformation testInfo)
初始化此类的 bundletool 实用程序。 |
void
|
installTrain(TestInformation testInfo,
尝试在设备上安装包含 APEX 的 Mainline 模块序列。 |
void
|
installUsingBundleTool(TestInformation testInfo,
尝试使用 bundletool 安装 Mainline 模块。 |
void
|
installer(TestInformation testInfo,
尝试在设备上安装软件包或拆分软件包。 |
ITestDevice.ApexInfo
|
retrieveApexInfo(File testApexFile, DeviceDescriptor deviceDescriptor)
从给定的 Apex 文件中检索包含 packageName 和 versionCode 的 ApexInfo。 |
字段
APEX_OPTION
protected static final String APEX_OPTION
APEX_SUFFIX
protected static final String APEX_SUFFIX
APK_SUFFIX
protected static final String APK_SUFFIX
APK_ZIP_OPTION
protected static final String APK_ZIP_OPTION
CHILD_SESSION_CREATION_CMD
protected static final String CHILD_SESSION_CREATION_CMD
PARENT_SESSION_CREATION_CMD
protected static final String PARENT_SESSION_CREATION_CMD
ROLLBACK_STATE_COMMITTED
public static final String ROLLBACK_STATE_COMMITTED
ROLLBACK_STATE_UNKNOWN
public static final String ROLLBACK_STATE_UNKNOWN
SPLIT_APKS_SUFFIX
protected static final String SPLIT_APKS_SUFFIX
mTrainFolderPath
protected File mTrainFolderPath
公共构造函数
InstallApexModuleTargetPreparer
public InstallApexModuleTargetPreparer ()
公共方法
getModulesToInstall
publicgetModulesToInstall (TestInformation testInfo)
根据在模块序列上预加载的模块,获取应安装在模块序列上的模块 设备。系统不会安装未预加载的模块。
参数 | |
---|---|
testInfo |
TestInformation :TestInformation |
返回 | |
---|---|
|
设备上应安装的模块的列表 |
抛出 | |
---|---|
DeviceNotAvailableException |
当设备不可用时。 |
TargetSetupError |
当必需的模块未安装时, 已安装。 |
setIgnoreIfNotPreloaded
public void setIgnoreIfNotPreloaded (boolean skip)
参数 | |
---|---|
skip |
boolean |
setSkipApexTearDown (设置跳过 ApexTearDown)
public void setSkipApexTearDown (boolean skip)
参数 | |
---|---|
skip |
boolean |
设置
public void setUp (TestInformation testInfo)
参数 | |
---|---|
testInfo |
TestInformation |
抛出 | |
---|---|
BuildError |
|
DeviceNotAvailableException |
|
TargetSetupError |
拆解
public void tearDown (TestInformation testInfo, Throwable e)
参数 | |
---|---|
testInfo |
TestInformation |
e |
Throwable |
抛出 | |
---|---|
DeviceNotAvailableException |
|
DeviceRuntimeException |
受保护的方法
addApksToTestFiles
protected void addApksToTestFiles ()
addStagedReadyTimeoutForAdb 超时
protected void addStagedReadyTimeoutForAdb (cmd)
参数 | |
---|---|
cmd |
|
addTimeoutMillisForBundletool
protected void addTimeoutMillisForBundletool (extraArgs)
参数 | |
---|---|
extraArgs |
|
checkApexActivation
protected void checkApexActivation (ITestDevice device)
检查是否所有顶端都已激活。
参数 | |
---|---|
device |
ITestDevice :正在测试。 |
抛出 | |
---|---|
TargetSetupError |
如果启用失败,则会发生此错误。 |
DeviceNotAvailableException |
collectionApexInfoFromApexModules
protectedcollectApexInfoFromApexModules ( testAppFileNames, TestInformation testInfo)
从 APEX 模块收集 APEX 信息,以进行激活检查。
参数 | |
---|---|
testAppFileNames |
:要安装的模块的文件名列表 |
testInfo |
TestInformation :TestInformation |
返回 | |
---|---|
|
一个列表,其中包含输入文件列表中的 Apex 模块的 apexinfo |
抛出 | |
---|---|
TargetSetupError |
getApkinstalled
protectedgetApkInstalled ()
返回 | |
---|---|
|
getBundletoolFileName
protected String getBundletoolFileName ()
返回 | |
---|---|
String |
getModuleKeywordFromApexPackageName
protected String getModuleKeywordFromApexPackageName (String packageName)
获取关键字(例如,“tzdata”(针对 com.android.tzdata.apex)。
参数 | |
---|---|
packageName |
String :APEX 文件的软件包名称。 |
返回 | |
---|---|
String |
字符串 顶端软件包名称的关键字。 |
getModulesFailToActivate
protectedgetModulesFailToActivate ( activatedApexes)
获取未能激活的模块。
参数 | |
---|---|
activatedApexes |
:设备上活跃顶点的集合 |
返回 | |
---|---|
|
一个列表,其中包含未激活的输入 APEX 模块的 apexinfo。 |
抛出 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
getSplitsForApks
protectedgetSplitsForApks (TestInformation testInfo, File moduleFile)
提取并返回指定 APK 的拆分。
参数 | |
---|---|
testInfo |
TestInformation :TestInformation |
moduleFile |
File :要从中提取分块的模块文件。 |
返回 | |
---|---|
|
包含分块的 File[]。 |
抛出 | |
---|---|
TargetSetupError |
如果找不到 bundletool 或未能生成设备规范文件,则会抛出该异常。 |
initBundletoolUtil
protected void initBundletoolUtil (TestInformation testInfo)
初始化此类的 bundletool 实用程序。
参数 | |
---|---|
testInfo |
TestInformation :调用的 TestInformation 。 |
抛出 | |
---|---|
TargetSetupError |
如果找不到 bundletool,则会发生该错误。 |
installTrain
protected void installTrain (TestInformation testInfo,moduleFilenames)
尝试在设备上安装包含 APEX 的 Mainline 模块序列。
参数 | |
---|---|
testInfo |
TestInformation :TestInformation |
moduleFilenames |
:字符串列表。需要的 Mainline 模块的文件名列表
已安装。 |
抛出 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
installUsingBundleTool
protected void installUsingBundleTool (TestInformation testInfo,testAppFileNames)
尝试使用 bundletool 安装 Mainline 模块。
参数 | |
---|---|
testInfo |
TestInformation :TestInformation |
testAppFileNames |
:要安装的预加载模块的文件名。 |
抛出 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
安装者
protected void installer (TestInformation testInfo,testAppFileNames)
尝试在设备上安装软件包或拆分软件包。
参数 | |
---|---|
testInfo |
TestInformation :调用的 TestInformation |
testAppFileNames |
:要安装的 APK 及其软件包。 |
抛出 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
检索 ApexInfo
protected ITestDevice.ApexInfo retrieveApexInfo (File testApexFile, DeviceDescriptor deviceDescriptor)
从给定的 Apex 文件中检索包含 packageName 和 versionCode 的 ApexInfo。
参数 | |
---|---|
testApexFile |
File :我们从中检索信息的 APEX 文件。 |
deviceDescriptor |
DeviceDescriptor |
返回 | |
---|---|
ITestDevice.ApexInfo |
包含给定文件的 packageName 和 versionCode 的 ApexInfo |
抛出 | |
---|---|
TargetSetupError |
如果 aapt 解析器无法解析文件,则会发生此错误。 |