ModuleOemTargetPreparer

public class ModuleOemTargetPreparer
extends InstallApexModuleTargetPreparer

java.lang.Object
   ↳ com.android.tradefed.targetprep.BaseTargetPreparer
     ↳ com.android.tradefed.targetprep.TestAppInstallSetup
       ↳ com.android.tradefed.targetprep.suite.SuiteApkInstaller
         ↳ com.android.tradefed.targetprep.InstallApexModuleTargetPreparer
           ↳ com.android.tradefed.targetprep.ModuleOemTargetPreparer


摘要

嵌套类

class ModuleOemTargetPreparer.ModuleInfo

用于存储模块相关信息的简单结构体类

公共构造函数

ModuleOemTargetPreparer()

公共方法

void checkModuleAfterPush(ITestDevice device, pushedModules)

推送后检查模块名称和版本代码

void setUp(TestInformation testInfo)

执行测试的目标设置,推送模块以替换预加载模块

受保护的方法

void checkPreloadModules(TestInformation testInfo, DeviceDescriptor deviceDescriptor)

检查预加载模块信息

String[] getApkDirectory(ITestDevice device, String packageName)

获取系统目录下的 APK 文件路径

String getPackageVersioncode(ITestDevice device, String packageName, boolean isAPK)

在推送模块后,根据软件包名称检查软件包版本。

ModuleOemTargetPreparer.ModuleInfo pushFile(File moduleFile, TestInformation testInfo)

将文件推送到 /system/apex/(对于 APEX)或 /system/**(对于 APK)

String renameFile(ITestDevice device, File moduleFile, String packageName)

将要更新的文件重命名为 /system 目录下相同的文件。

void setupDevice(TestInformation testInfo)

在将文件推送到 /system 下之前,请先 adb root 并重新挂载设备

公共构造函数

ModuleOemTargetPreparer

public ModuleOemTargetPreparer ()

公共方法

checkModuleAfterPush

public void checkModuleAfterPush (ITestDevice device, 
                 pushedModules)

检查推送后的模块名称和版本代码

参数
device ITestDevice

pushedModules :推送的模块列表

抛出
TargetSetupError 如果未推送任何模块,则抛出异常
DeviceNotAvailableException 如果没有可用的设备,则抛出异常

setUp

public void setUp (TestInformation testInfo)

执行测试的目标设置,推送模块以替换预加载模块

参数
testInfo TestInformation:调用的 TestInformation

抛出
TargetSetupError 如果在设置环境时发生严重错误
BuildError 如果由于准备构建而发生错误
DeviceNotAvailableException 如果设备无响应

受保护的方法

checkPreloadModules

protected void checkPreloadModules (TestInformation testInfo, 
                DeviceDescriptor deviceDescriptor)

检查预加载模块信息

参数
testInfo TestInformation:测试信息

deviceDescriptor DeviceDescriptor

抛出
DeviceNotAvailableException 如果设备不可用,则会抛出异常
TargetSetupError 如果未预加载任何模块,则会抛出异常

getApkDirectory

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

获取系统目录下的 APK 文件路径

参数
device ITestDevice

packageName String:模块软件包名称

返回
String[] 包含 APK 名称和路径的字符串数组

抛出
DeviceNotAvailableException 如果设备不可用
TargetSetupError 如果找不到软件包的路径

getPackageVersioncode

protected String getPackageVersioncode (ITestDevice device, 
                String packageName, 
                boolean isAPK)

在推送模块后,根据软件包名称检查软件包版本。

参数
packageName String:推送的软件包名称

isAPK boolean

返回
String

抛出
DeviceNotAvailableException 如果找不到设备,则会抛出异常。

pushFile

protected ModuleOemTargetPreparer.ModuleInfo pushFile (File moduleFile, 
                TestInformation testInfo)

将文件推送到 /system/apex/(对于 APEX)或 /system/**(对于 APK)

参数
moduleFile File:模块文件

testInfo TestInformation:调用的 TestInformation

返回
ModuleOemTargetPreparer.ModuleInfo

抛出
TargetSetupError 如果无法通过 adb 推送文件
DeviceNotAvailableException if device not available

renameFile

protected String renameFile (ITestDevice device, 
                File moduleFile, 
                String packageName)

将要更新的文件重命名为 /system 目录下相同的文件。

参数
device ITestDevice:测试设备

moduleFile File:要安装的模块文件

packageName String:/system/* 下的名称

返回
String 重命名后的新文件名

抛出
TargetSetupError 如果无法重命名文件
DeviceNotAvailableException

setupDevice

protected void setupDevice (TestInformation testInfo)

在将文件推送到 /system 之前,请先 adb root 并重新挂载设备

参数
testInfo TestInformation:调用的 TestInformation

抛出
TargetSetupError 设备无法重新挂载。
DeviceNotAvailableException