CasUtil

public final class CasUtil
extends Object

java.lang.Object
   ↳ com.android.tradefed.util.CasUtil


Zusammenfassung

Konstanten

String ANDROID_INFO_FILENAME

String CAS_LOG_ROOT_NAME

String CHUNKS_DIR_NAME

String CHUNKS_INDEX_FILENAME

String SUPER_IMAGE_FILENAME

String SYSTEM_IMAGE_FILENAME

Öffentliche Methoden

static void checkCasClientFlags(Path clientPath, Consumer<Set<String>> flagsConsumerFn)

Prüft die unterstützten Flags des CAS-Clients.

static Path createUniqueCasLogDir(Path logDirRootPath)
static void ensureCasClientExecutable(Path casClientPath, boolean logMetricsIfNotExecutable)
static String getCasLogFromDir(Path logDirPath)

Liest die CAS-Logdatei „.INFO“ aus dem angegebenen Verzeichnis.

static String getCasLogFromDir(Path logDirPath, String clientName, String tag, boolean removeLogDirAfterRead)

Liest die CAS-Logdatei aus dem angegebenen Verzeichnis.

static String getCasLogFromDir(Path logDirPath, String clientName)

Liest die CAS-Logdatei „.INFO“ aus dem angegebenen Verzeichnis und entfernt das Logverzeichnis.

static boolean isChunkedDir(Path path)

Gibt „true“ zurück, wenn der angegebene Pfad ein gültiges FastCDC-Chunk-Verzeichnis ist.

static boolean isUncompressedDeviceImage(Path path)

Gibt „true“ zurück, wenn der angegebene Pfad ein gültiges unkomprimiertes Geräte-Image ist.

static void logCasClientVersion(Path clientPath, Consumer<String> versionHandlerFn)
static void logCasClientVersion(Path clientPath)
static void validateChunkedDir(Path path)

Prüft, ob der angegebene Pfad ein gültiges FastCDC-chunked-Verzeichnis ist.

Konstanten

ANDROID_INFO_FILENAME

public static final String ANDROID_INFO_FILENAME

Konstanter Wert: "android-info.txt"

CAS_LOG_ROOT_NAME

public static final String CAS_LOG_ROOT_NAME

Konstanter Wert: "tf-cas-fuse-log-root"

CHUNKS_DIR_NAME

public static final String CHUNKS_DIR_NAME

Konstanter Wert: "_chunks"

CHUNKS_INDEX_FILENAME

public static final String CHUNKS_INDEX_FILENAME

Konstanter Wert: "_chunks_index.json"

SUPER_IMAGE_FILENAME

public static final String SUPER_IMAGE_FILENAME

Konstanter Wert: "super.img"

SYSTEM_IMAGE_FILENAME

public static final String SYSTEM_IMAGE_FILENAME

Constant Value: "system.img"

Öffentliche Methoden

checkCasClientFlags

public static void checkCasClientFlags (Path clientPath, 
                Consumer<Set<String>> flagsConsumerFn)

Prüft die unterstützten Flags des CAS-Clients.

Parameter
clientPath Path: Der Pfad zur CAS-Client-Binärdatei.

flagsConsumerFn Consumer: Ein Consumer, der die unterstützten Flags akzeptiert.

createUniqueCasLogDir

public static Path createUniqueCasLogDir (Path logDirRootPath)

Parameter
logDirRootPath Path

Gibt Folgendes zurück:
Path

Löst aus
IOException

ensureCasClientExecutable

public static void ensureCasClientExecutable (Path casClientPath, 
                boolean logMetricsIfNotExecutable)

Parameter
casClientPath Path

logMetricsIfNotExecutable boolean

getCasLogFromDir

public static String getCasLogFromDir (Path logDirPath)

Liest die CAS-Logdatei „.INFO“ aus dem angegebenen Verzeichnis. Dabei wird davon ausgegangen, dass das Log-Verzeichnis für einen einzelnen CAS-Client bestimmt ist, und der `clientName` wird aus dem Namen der Log-Datei abgeleitet.

Parameter
logDirPath Path: Der Verzeichnispfad, aus dem die CAS-Logdatei gelesen werden soll.

Gibt Folgendes zurück:
String Der Inhalt der CAS-Logdatei oder „null“, wenn die Logdatei nicht gelesen werden kann.

getCasLogFromDir

public static String getCasLogFromDir (Path logDirPath, 
                String clientName, 
                String tag, 
                boolean removeLogDirAfterRead)

Liest die CAS-Logdatei aus dem angegebenen Verzeichnis.

Parameter
logDirPath Path: Der Verzeichnispfad, aus dem die CAS-Logdatei gelesen werden soll.

clientName String: Der Name des CAS-Clients.

tag String: Das Tag der CAS-Logdatei, z. B. „INFO“, „WARNING“ oder „ERROR“.

removeLogDirAfterRead boolean: Gibt an, ob das Logverzeichnis nach dem Lesen der Logdatei entfernt werden soll.

Gibt Folgendes zurück:
String Der Inhalt der CAS-Protokolldatei.

Löst aus
IOException Wenn die CAS-Protokolldatei nicht gelesen werden kann.

getCasLogFromDir

public static String getCasLogFromDir (Path logDirPath, 
                String clientName)

Liest die CAS-Logdatei „.INFO“ aus dem angegebenen Verzeichnis und entfernt das Logverzeichnis. Dies ist eine einfache Methode, die die oben genannte Methode mit Standardparametern umschließt. Außerdem wird die IOException abgefangen und „null“ zurückgegeben, wenn die Logdatei nicht gelesen werden kann.

Parameter
logDirPath Path: Der Verzeichnispfad, aus dem die CAS-Logdatei gelesen werden soll.

clientName String: Der Name des CAS-Clients.

Gibt Folgendes zurück:
String Der Inhalt der CAS-Logdatei oder „“ (leer), wenn die Logdatei nicht gelesen werden kann.

isChunkedDir

public static boolean isChunkedDir (Path path)

Gibt „true“ zurück, wenn der angegebene Pfad ein gültiges FastCDC-Chunk-Verzeichnis ist.

Parameter
path Path

Gibt Folgendes zurück:
boolean

isUncompressedDeviceImage

public static boolean isUncompressedDeviceImage (Path path)

Gibt „true“ zurück, wenn der angegebene Pfad ein gültiges unkomprimiertes Geräte-Image ist.

Für die zuverlässigste Prüfung sollten Sie das Vorhandensein von „system.img“ oder „super.img“ UND „android-info.txt“ prüfen.

system.img/super.img: Bestätigt, dass die wichtigsten Betriebssystemdaten vorhanden sind.

android-info.txt: Bestätigt, dass es sich um ein offizielles Build-Paket mit Metadaten handelt, die das Gerät und die Build-Version beschreiben.

Diese Kombination ist in einem Verzeichnis, das kein unkomprimiertes Geräte-Image ist und Fälle wie den TV-Build, in dem boot.img fehlt, korrekt verarbeitet, äußerst unwahrscheinlich.

Parameter
path Path: Der absolute Pfad zum Geräte-Image.

Gibt Folgendes zurück:
boolean „True“, wenn der Pfad ein gültiges unkomprimiertes Geräte-Image ist, andernfalls „False“.

logCasClientVersion

public static void logCasClientVersion (Path clientPath, 
                Consumer<String> versionHandlerFn)

Parameter
clientPath Path

versionHandlerFn Consumer

logCasClientVersion

public static void logCasClientVersion (Path clientPath)

Parameter
clientPath Path

validateChunkedDir

public static void validateChunkedDir (Path path)

Prüft, ob der angegebene Pfad ein gültiges FastCDC-chunked-Verzeichnis ist.

   device_image.zip/
     _chunks/
       _chunks_index.json
       chunk1.img
     _chunks_index.json
 
Nur Inhalte des Quelldatenpfads werden auf Gültigkeit geprüft. Die Datei „_chunks_index.json“ muss sich entweder im Verzeichnis „_chunks“ oder (zur Abwärtskompatibilität) auf derselben Ebene wie „_chunks“ befinden.

Parameter
path Path: Der Pfad zum Verzeichnis mit den Chunks.

Löst aus
IOException Wenn der Pfad kein gültiges FastCDC-Chunk-Verzeichnis ist.