MixKernelTargetPreparer

public class MixKernelTargetPreparer
extends BaseTargetPreparer implements IConfigurationReceiver, ILabPreparer

java.lang.Object
   ↳ com.android.tradefed.targetprep.BaseTargetPreparer
     ↳ com.android.tradefed.targetprep.MixKernelTargetPreparer


一种可将内核映像与设备映像混合的 ITargetPreparer

摘要

公共构造函数

MixKernelTargetPreparer()

公共方法

void setConfiguration(IConfiguration configuration)

注入正在使用的 IConfiguration

void setUp(TestInformation testInfo)

执行测试所需的目标设置。

受保护的方法

String[] getKernelVersionFromImage(File image)

从启动/vendor_boot/system_dlkm/vendor_dlkm 映像文件中提取内核版本。

IRunUtil getRunUtil()

获取要使用的 IRunUtil 实例。

String[] parseKernelVersion(String source, String kernelVersionString)
void runMixKernelTool(ITestDevice device, File oldDeviceDir, File kernelDir, File gkiDir, File newDeviceDir)

运行混合内核工具以生成新的设备 build

混合工具用法:build_mixed_kernels device_dir out_dir target flavor kernel_dir

void validateKernelCompatibility(String imageName, String[] imageVersion, String[] bootVersion, ITestDevice device)
void validateKernelVersion(File kernelDir, File gkiDir, ITestDevice device)

验证映像中的内核版本是否符合预期。

公共构造函数

MixKernelTargetPreparer

public MixKernelTargetPreparer ()

公共方法

setConfiguration

public void setConfiguration (IConfiguration configuration)

注入正在使用的 IConfiguration

参数
configuration IConfiguration

setUp

public void setUp (TestInformation testInfo)

执行测试所需的目标设置。

参数
testInfo TestInformation:调用的 TestInformation

抛出
BuildError
DeviceNotAvailableException
TargetSetupError

受保护的方法

getKernelVersionFromImage

protected String[] getKernelVersionFromImage (File image)

从 boot/vendor_boot/system_dlkm/vendor_dlkm 映像文件中提取内核版本。

参数
image File:图片文件的 File

返回
String[] 一个 ERROR(/String[]),包含已解析的内核版本信息:[kernelVersion, patchLevel, pageSize]。如果无法解析版本字符串,则返回 null。

getRunUtil

protected IRunUtil getRunUtil ()

获取要使用的 IRunUtil 实例。

返回
IRunUtil 要使用的 IRunUtil

parseKernelVersion

protected String[] parseKernelVersion (String source, 
                String kernelVersionString)

参数
source String

kernelVersionString String

返回
String[]

运行混合内核工具

protected void runMixKernelTool (ITestDevice device, 
                File oldDeviceDir, 
                File kernelDir, 
                File gkiDir, 
                File newDeviceDir)

运行混合内核工具以生成新的设备 build

混合工具用法:build_mixed_kernels device_dir out_dir target flavor kernel_dir

参数
device ITestDevice:测试设备

oldDeviceDir File:目录 File 包含旧设备映像

kernelDir File:目录 File 包含内核映像目标

gkiDir File:目录 File 包含 GKI 内核映像目标

newDeviceDir File:将生成新设备映像的目录 File

抛出
TargetSetupError 如果无法运行混合内核工具
java.io.IOException

validateKernelCompatibility

protected void validateKernelCompatibility (String imageName, 
                String[] imageVersion, 
                String[] bootVersion, 
                ITestDevice device)

参数
imageName String

imageVersion String

bootVersion String

device ITestDevice

抛出
TargetSetupError

validateKernelVersion

protected void validateKernelVersion (File kernelDir, 
                File gkiDir, 
                ITestDevice device)

验证映像中的内核版本是否符合预期。如果无效,则抛出异常。

参数
kernelDir File:目录 File 包含内核映像

gkiDir File:目录 File 包含 GKI 映像

device ITestDeviceITestDevice

抛出
TargetSetupError 如果没有有效的 GKI 启动映像