GkiDeviceFlashPreparer

public class GkiDeviceFlashPreparer
extends BaseTargetPreparer implements ILabPreparer

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


Es un preparador de destino que escribe en la memoria flash del dispositivo la imagen genérica del kernel común de Android. Para obtener más información, consulta https://source.android.com/devices/architecture/kernel/android-common.

Resumen

Constructores públicos

GkiDeviceFlashPreparer()

Métodos públicos

void setUp(TestInformation testInfo)

Realiza la configuración del destino para las pruebas.

void validateGkiBootImg(ITestDevice device, IBuildInfo buildInfo)

Valida que la imagen de arranque de GKI sea la esperada.

Métodos protegidos

void addHashFooter(ITestDevice device, IBuildInfo buildInfo, File tmpDir)

Valida que la imagen de arranque de GKI sea la esperada.

void buildGkiSystemDlkmImg(ITestDevice device, IBuildInfo buildInfo, File tmpDir)

Compila la imagen system_dlkm de GKI si se proporciona el archivo system_dlkm.

File extractSystemDlkmTarGzip(File systemDlkmArchive)

Extrae el archivo system_dlkm tar gzip en la carpeta system_dlkm_staging.

void flattenSystemDlkm(ITestDevice device, File systemDlkmStagingDir)

Aplanar el directorio de etapa de pruebas de system_dlkm para que todos los módulos del kernel estén directamente en /lib/modules

String[] getDeviceKernelVersion(ITestDevice device)

Obtén la versión del kernel del dispositivo antes de escribir la memoria flash.

IHostOptions getHostOptions()

Obtén una referencia al IHostOptions

String[] getKernelVersionFromImage(File image)

Extrae la versión del kernel de los archivos de imagen boot/vendor_boot/system_dlkm/vendor_dlkm.

File getRequestedFile(ITestDevice device, String requestedFileName, File sourceFile, File tmpDir)

Obtiene el archivo solicitado del archivo fuente (ZIP o carpeta) por nombre de archivo solicitado.

IRunUtil getRunUtil()

Obtén la instancia de IRunUtil que se usará.

String[] parseKernelVersion(String source, String kernelVersionString)
void validateGkiBootImg(ITestDevice device, IBuildInfo buildInfo, File tmpDir)

Valida que la imagen de arranque de GKI sea la esperada.

void validateKernelCompatibility(String imageName, String[] imageVersion, String[] bootVersion, ITestDevice device)
void validateKernelVersion(ITestDevice device, IBuildInfo buildInfo, File tmpDir)

Valida que las versiones del kernel en las imágenes sean las esperadas.

Constructores públicos

GkiDeviceFlashPreparer

public GkiDeviceFlashPreparer ()

Métodos públicos

setUp

public void setUp (TestInformation testInfo)

Realiza la configuración del destino para las pruebas.

Parámetros
testInfo TestInformation: Es el TestInformation de la invocación.

Arroja
BuildError
DeviceNotAvailableException
TargetSetupError

validateGkiBootImg

public void validateGkiBootImg (ITestDevice device, 
                IBuildInfo buildInfo)

Valida que la imagen de arranque de GKI sea la esperada. (Obsoleto. Llama con tmpDir proporcionado

Parámetros
device ITestDevice: El ITestDevice

buildInfo IBuildInfo: El IBuildInfo de la información de compilación

Arroja
TargetSetupError Si no hay un archivo boot.img de GKI válido

Métodos protegidos

addHashFooter

protected void addHashFooter (ITestDevice device, 
                IBuildInfo buildInfo, 
                File tmpDir)

Valida que la imagen de arranque de GKI sea la esperada. Se arroja una excepción si no hay un boot.img válido.

Parámetros
device ITestDevice: El ITestDevice

buildInfo IBuildInfo: El IBuildInfo de la información de compilación

tmpDir File: El directorio temporal File

Arroja
TargetSetupError Si no hay un archivo boot.img de GKI válido
DeviceNotAvailableException

buildGkiSystemDlkmImg

protected void buildGkiSystemDlkmImg (ITestDevice device, 
                IBuildInfo buildInfo, 
                File tmpDir)

Compila la imagen system_dlkm de GKI si se proporciona el archivo system_dlkm.

Parámetros
device ITestDevice: El ITestDevice

buildInfo IBuildInfo: El IBuildInfo de la información de compilación

tmpDir File: El directorio temporal File

Arroja
TargetSetupError si se produce un error al compilar el archivo de imagen

extractSystemDlkmTarGzip

protected File extractSystemDlkmTarGzip (File systemDlkmArchive)

Extrae el archivo system_dlkm tar gzip en la carpeta system_dlkm_staging. Esta función es un wrapper alrededor de ERROR(/TarUtil.extractTarGzipToTemp) para simular la descompresión de archivos .tar para las pruebas de unidades.

Parámetros
systemDlkmArchive File: Es el archivo tar.gz de system_dlkm que contiene los módulos del GKI.

Muestra
File Archivo que contiene el contenido de system_dlkm tar gzip.

Arroja
java.io.IOException
IOException

flattenSystemDlkm

protected void flattenSystemDlkm (ITestDevice device, 
                File systemDlkmStagingDir)

Aplanar el directorio de etapa de pruebas de system_dlkm para que todos los módulos del kernel estén directamente en /lib/modules Esto es necesario para que coincida con el diseño esperado del archivo system_dlkm para las compilaciones de la plataforma.

Parámetros
device ITestDevice: El ITestDevice

systemDlkmStagingDir File: directorio de etapa de pruebas de system_dlkm File

Arroja
IOException o TargetSetupError si hay un error al aplanar el sistema_dlkm.
TargetSetupError

getDeviceKernelVersion

protected String[] getDeviceKernelVersion (ITestDevice device)

Obtén la versión del kernel del dispositivo antes de escribir la memoria flash.

Parámetros
device ITestDevice: Es el objeto ITestDevice del que se obtendrá la versión del kernel.

Muestra
String[] Un ERROR(/String[]) que contiene la información de la versión del kernel analizada: [kernelVersion, patchLevel, pageSize]. Devuelve nulo si no se puede analizar la cadena de versión.2

Arroja
DeviceNotAvailableException

getHostOptions

protected IHostOptions getHostOptions ()

Obtén una referencia al IHostOptions

Muestra
IHostOptions El IHostOptions que se debe usar

getKernelVersionFromImage

protected String[] getKernelVersionFromImage (File image)

Extrae la versión del kernel de los archivos de imagen boot/vendor_boot/system_dlkm/vendor_dlkm. Este método lee el archivo de imagen boot/vendor_boot/system_dlkm/vendor_dlkm y busca un patrón específico en las cadenas de versión del kernel de Android. Luego, analiza la cadena encontrada para extraer la versión del kernel en un formato estandarizado.

Parámetros
image File: Es la File de la imagen de arranque (p.ej., boot.img).

Muestra
String[] Un ERROR(/String[]) que contiene la información de la versión del kernel analizada: [kernelVersion, patchLevel, pageSize]. Devuelve nulo si no se puede analizar la cadena de versión.

getRequestedFile

protected File getRequestedFile (ITestDevice device, 
                String requestedFileName, 
                File sourceFile, 
                File tmpDir)

Obtiene el archivo solicitado del archivo fuente (ZIP o carpeta) por nombre de archivo solicitado.

El archivo fuente proporcionado puede ser un archivo ZIP. El método lo descomprimirá en un directorio temporal y buscará el archivo solicitado por el nombre de archivo proporcionado.

El archivo fuente proporcionado puede ser una carpeta de archivos. El método encontrará el archivo solicitado por el nombre de archivo proporcionado.

Parámetros
device ITestDevice: El ITestDevice

requestedFileName String: Cadena del nombre de archivo solicitado

sourceFile File: El archivo fuente

tmpDir File

Muestra
File el archivo especificado por el nombre de archivo solicitado

Arroja
com.android.tradefed.targetprep.TargetSetupError
TargetSetupError

getRunUtil

protected IRunUtil getRunUtil ()

Obtén la instancia de IRunUtil que se usará.

Muestra
IRunUtil El IRunUtil que se debe usar

parseKernelVersion

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

Parámetros
source String

kernelVersionString String

Muestra
String[]

validateGkiBootImg

protected void validateGkiBootImg (ITestDevice device, 
                IBuildInfo buildInfo, 
                File tmpDir)

Valida que la imagen de arranque de GKI sea la esperada. Se arroja una excepción si no hay un boot.img válido.

Parámetros
device ITestDevice: El ITestDevice

buildInfo IBuildInfo: El IBuildInfo de la información de compilación

tmpDir File: El directorio temporal File

Arroja
TargetSetupError Si no hay un archivo boot.img de GKI válido

validateKernelCompatibility

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

Parámetros
imageName String

imageVersion String

bootVersion String

device ITestDevice

Arroja
TargetSetupError

validateKernelVersion

protected void validateKernelVersion (ITestDevice device, 
                IBuildInfo buildInfo, 
                File tmpDir)

Valida que las versiones del kernel en las imágenes sean las esperadas. Arroja una excepción si no es válido.

Parámetros
device ITestDevice: El ITestDevice

buildInfo IBuildInfo: El IBuildInfo de la información de compilación

tmpDir File: El directorio temporal File

Arroja
TargetSetupError Si no hay un archivo boot.img de GKI válido
DeviceNotAvailableException