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_SUFFIX
|
protected
static
final
String |
APK_SUFFIX
|
protected
static
final
String |
SPLIT_APKS_SUFFIX
|
公共构造函数 | |
---|---|
InstallApexModuleTargetPreparer()
|
公共方法 | |
---|---|
|
getModulesToInstall(TestInformation testInfo)
根据在模块序列上预加载的模块,获取应安装在模块序列上的模块 设备。 |
void
|
setIgnoreIfNotPreloaded(boolean skip)
|
void
|
setSkipApexTearDown(boolean skip)
|
void
|
setUp(TestInformation testInfo)
|
void
|
tearDown(TestInformation testInfo, Throwable e)
|
受保护的方法 | |
---|---|
void
|
addApksToTestFiles()
|
|
collectApexInfoFromApexModules(
从 APEX 模块收集 APEX 信息,以进行激活检查。 |
boolean
|
containsPersistentApk(
检查输入文件是否包含任何永久性 APK。 |
|
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,
尝试在设备上安装软件包或拆分软件包。 |
boolean
|
isPersistentApk(File filename, TestInformation testInfo)
检查 apk 是否为永久性 APK。 |
ITestDevice.ApexInfo
|
retrieveApexInfo(File testApexFile, DeviceDescriptor deviceDescriptor)
从给定的 Apex 文件中检索包含 packageName 和 versionCode 的 ApexInfo。 |
字段
APEX_SUFFIX
protected static final String APEX_SUFFIX
APK_SUFFIX
protected static final String APK_SUFFIX
SPLIT_APKS_SUFFIX
protected static final String SPLIT_APKS_SUFFIX
公共构造函数
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 |
受保护的方法
addApksToTestFiles
protected void addApksToTestFiles ()
collectionApexInfoFromApexModules
protectedcollectApexInfoFromApexModules ( testAppFileNames, TestInformation testInfo)
从 APEX 模块收集 APEX 信息,以进行激活检查。
参数 | |
---|---|
testAppFileNames |
:要安装的模块的文件名列表 |
testInfo |
TestInformation :TestInformation |
返回 | |
---|---|
|
一个列表,其中包含输入文件列表中的 Apex 模块的 apexinfo |
抛出 | |
---|---|
TargetSetupError |
包含 PersistentApk
protected boolean containsPersistentApk (testAppFileNames, TestInformation testInfo)
检查输入文件是否包含任何永久性 APK。
参数 | |
---|---|
testAppFileNames |
:要安装的模块的文件名列表 |
testInfo |
TestInformation :TestInformation |
返回 | |
---|---|
boolean |
如果输入文件包含永久性 apk 模块,则为 true 。
|
抛出 | |
---|---|
DeviceNotAvailableException |
|
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, String[] extraArgs)
尝试在设备上安装包含 APEX 的 Mainline 模块序列。
参数 | |
---|---|
testInfo |
TestInformation :TestInformation |
moduleFilenames |
:字符串列表。需要的 Mainline 模块的文件名列表
已安装。
|
extraArgs |
String |
抛出 | |
---|---|
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 |
isPersistentApk
protected boolean isPersistentApk (File filename, TestInformation testInfo)
检查 apk 是否为永久性 APK。
参数 | |
---|---|
filename |
File :要检查的 apk 模块文件 |
testInfo |
TestInformation :TestInformation |
返回 | |
---|---|
boolean |
如果这是一个永久性 apk 模块,则为 true 。
|
抛出 | |
---|---|
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 解析器无法解析文件,则会发生此错误。 |