GkiDeviceFlashPreparer
public
class
GkiDeviceFlashPreparer
extends BaseTargetPreparer
implements
ILabPreparer
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
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
public void setUp (TestInformation testInfo)
Richten Sie das Ziel für Tests ein.
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 |
Geschützte Methoden
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 |
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. |
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 |
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 |
getRunUtil
protected IRunUtil getRunUtil ()
Rufen Sie die zu verwendende IRunUtil-Instanz ab.
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 |
validateKernelCompatibility
protected void validateKernelCompatibility (String imageName,
String[] imageVersion,
String[] bootVersion,
ITestDevice device)
| Parameter |
imageName |
String |
imageVersion |
String |
bootVersion |
String |
device |
ITestDevice |
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 |