GkiDeviceFlashPreparer

public class GkiDeviceFlashPreparer
extends BaseTargetPreparer implements ILabPreparer

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


Ein Target-Preparer, der das Gerät mit einem generischen Image des Android Common Kernel flasht. Weitere Informationen finden Sie unter https://source.android.com/devices/architecture/kernel/android-common.

Zusammenfassung

Öffentliche Konstruktoren

GkiDeviceFlashPreparer()

Öffentliche Methoden

void setUp(TestInformation testInfo)

Richten Sie das Ziel für Tests ein.

void validateGkiBootImg(ITestDevice device, IBuildInfo buildInfo)

Prüfen Sie, ob das GKI-Boot-Image erwartet wird.

Geschützte Methoden

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

Prüfen Sie, ob das GKI-Boot-Image erwartet wird.

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

Erstellt ein GKI-System-DLKM-Image, wenn das System-DLKM-Archiv bereitgestellt wird.

File extractSystemDlkmTarGzip(File systemDlkmArchive)

Entpackt die Tar-Gzip-Datei „system_dlkm“ in den Ordner „system_dlkm_staging“.

void flattenSystemDlkm(ITestDevice device, File systemDlkmStagingDir)

Das Staging-Verzeichnis „system_dlkm“ muss so vereinfacht werden, dass sich alle Kernelmodule direkt unter „/lib/modules“ befinden.

String[] getDeviceKernelVersion(ITestDevice device)

Rufen Sie die Kernel-Version des Geräts ab, bevor Sie es flashen.

IHostOptions getHostOptions()

Referenz auf die IHostOptions abrufen

String[] getKernelVersionFromImage(File image)

Extrahiert die Kernel-Version aus den Image-Dateien „boot“, „vendor_boot“, „system_dlkm“ und „vendor_dlkm“.

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

Die angeforderte Datei wird anhand des angeforderten Dateinamens aus der Quelldatei (ZIP oder Ordner) abgerufen.

IRunUtil getRunUtil()

Rufen Sie die zu verwendende IRunUtil-Instanz ab.

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

Prüfen Sie, ob das GKI-Boot-Image erwartet wird.

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

Prüfen Sie, ob die Kernelversionen in den Images den Erwartungen entsprechen.

Öffentliche Konstruktoren

GkiDeviceFlashPreparer

public GkiDeviceFlashPreparer ()

Öffentliche Methoden

setUp

public void setUp (TestInformation testInfo)

Richten Sie das Ziel für Tests ein.

Parameter
testInfo TestInformation: Der TestInformation des Aufrufs.

Löst aus
BuildError
DeviceNotAvailableException
TargetSetupError

validateGkiBootImg

public void validateGkiBootImg (ITestDevice device, 
                IBuildInfo buildInfo)

Prüfen Sie, ob das GKI-Boot-Image erwartet wird. Veraltet. Bitte rufen Sie mit tmpDir an.)

Parameter
device ITestDevice: Der ITestDevice

buildInfo IBuildInfo: die IBuildInfo der Build-Informationen

Löst aus
TargetSetupError wenn kein gültiges gki-boot.img vorhanden ist

Geschützte Methoden

addHashFooter

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

Prüfen Sie, ob das GKI-Boot-Image erwartet wird. Löst eine Ausnahme aus, wenn kein gültiges „boot.img“ vorhanden ist.

Parameter
device ITestDevice: Der ITestDevice

buildInfo IBuildInfo: die IBuildInfo der Build-Informationen

tmpDir File: das temporäre Verzeichnis File

Löst aus
TargetSetupError wenn kein gültiges gki-boot.img vorhanden ist
DeviceNotAvailableException

buildGkiSystemDlkmImg

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

Erstellt ein GKI-System-DLKM-Image, wenn das System-DLKM-Archiv bereitgestellt wird.

Parameter
device ITestDevice: Der ITestDevice

buildInfo IBuildInfo: die IBuildInfo der Build-Informationen

tmpDir File: das temporäre Verzeichnis File

Löst aus
TargetSetupError Wenn beim Erstellen der Bilddatei ein Fehler auftritt.

extractSystemDlkmTarGzip

protected File extractSystemDlkmTarGzip (File systemDlkmArchive)

Entpackt die Tar-Gzip-Datei „system_dlkm“ in den Ordner „system_dlkm_staging“. Diese Funktion ist ein Wrapper für ERROR(/TarUtil.extractTarGzipToTemp), um das Entpacken für Unittests zu simulieren.

Parameter
systemDlkmArchive File: Die Tar-Gzip-Datei „system_dlkm“ mit GKI-Modulen.

Gibt Folgendes zurück:
File Datei mit dem Inhalt des Tar-Gzip-Archivs für das System-DLKM.

Löst aus
java.io.IOException
IOException

flattenSystemDlkm

protected void flattenSystemDlkm (ITestDevice device, 
                File systemDlkmStagingDir)

Das Staging-Verzeichnis „system_dlkm“ muss so vereinfacht werden, dass sich alle Kernelmodule direkt unter „/lib/modules“ befinden. Dies ist erforderlich, um dem erwarteten Layout der Datei „system_dlkm“ für Plattform-Builds zu entsprechen.

Parameter
device ITestDevice: Der ITestDevice

systemDlkmStagingDir File: Das Staging-Verzeichnis für system_dlkm File

Löst aus
IOException oder TargetSetupError, wenn beim Reduzieren des system_dlkm ein Fehler auftritt.
TargetSetupError

getDeviceKernelVersion

protected String[] getDeviceKernelVersion (ITestDevice device)

Rufen Sie die Kernel-Version des Geräts ab, bevor Sie es flashen.

Parameter
device ITestDevice: Die ITestDevice, aus der die Kernel-Version abgerufen werden soll.

Gibt Folgendes zurück:
String[] Ein ERROR(/String[]) mit den geparsten Kernel-Versionsinformationen: [kernelVersion, patchLevel, pageSize]. Gibt „null“ zurück, wenn der Versionsstring nicht geparst werden kann.2

Löst aus
DeviceNotAvailableException

getHostOptions

protected IHostOptions getHostOptions ()

Referenz auf die IHostOptions abrufen

Gibt Folgendes zurück:
IHostOptions Der zu verwendende IHostOptions

getKernelVersionFromImage

protected String[] getKernelVersionFromImage (File image)

Extrahiert die Kernel-Version aus den Image-Dateien „boot“, „vendor_boot“, „system_dlkm“ und „vendor_dlkm“. Bei dieser Methode wird die Image-Datei „boot/vendor_boot/system_dlkm/vendor_dlkm“ gelesen und nach einem bestimmten Muster in Android-Kernelversionsstrings gesucht. Anschließend wird der gefundene String geparst, um die Kernel-Version in einem standardisierten Format zu extrahieren.

Parameter
image File: Der File zur Boot-Image-Datei (z.B. boot.img).

Gibt Folgendes zurück:
String[] Ein ERROR(/String[]) mit den geparsten Kernel-Versionsinformationen: [kernelVersion, patchLevel, pageSize]. Gibt „null“ zurück, wenn der Versionsstring nicht geparst werden kann.

getRequestedFile

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

Die angeforderte Datei wird anhand des angeforderten Dateinamens aus der Quelldatei (ZIP oder Ordner) abgerufen.

Die bereitgestellte Quelldatei kann eine ZIP-Datei sein. Die Methode entpackt die Datei in ein temporäres Verzeichnis und sucht anhand des angegebenen Dateinamens nach der angeforderten Datei.

Die bereitgestellte Quelldatei kann ein Dateiverzeichnis sein. Mit der Methode wird die angeforderte Datei anhand des angegebenen Dateinamens gesucht.

Parameter
device ITestDevice: Der ITestDevice

requestedFileName String: der angeforderte Dateinamenstring

sourceFile File: die Quelldatei

tmpDir File

Gibt Folgendes zurück:
File die Datei, die durch den angeforderten Dateinamen angegeben wird

Löst aus
com.android.tradefed.targetprep.TargetSetupError
TargetSetupError

getRunUtil

protected IRunUtil getRunUtil ()

Rufen Sie die zu verwendende IRunUtil-Instanz ab.

Gibt Folgendes zurück:
IRunUtil Der zu verwendende IRunUtil

parseKernelVersion

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

Parameter
source String

kernelVersionString String

Gibt Folgendes zurück:
String[]

validateGkiBootImg

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

Prüfen Sie, ob das GKI-Boot-Image erwartet wird. Löst eine Ausnahme aus, wenn kein gültiges boot.img vorhanden ist.

Parameter
device ITestDevice: Der ITestDevice

buildInfo IBuildInfo: die IBuildInfo der Build-Informationen

tmpDir File: das temporäre Verzeichnis File

Löst aus
TargetSetupError wenn kein gültiges gki-boot.img vorhanden ist

validateKernelCompatibility

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

Parameter
imageName String

imageVersion String

bootVersion String

device ITestDevice

Löst aus
TargetSetupError

validateKernelVersion

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

Prüfen Sie, ob die Kernelversionen in den Images den Erwartungen entsprechen. Löst eine Ausnahme aus, wenn sie nicht gültig ist.

Parameter
device ITestDevice: Der ITestDevice

buildInfo IBuildInfo: die IBuildInfo der Build-Informationen

tmpDir File: das temporäre Verzeichnis File

Löst aus
TargetSetupError wenn kein gültiges gki-boot.img vorhanden ist
DeviceNotAvailableException