CasUtil

public final class CasUtil
extends Object

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


Resumo

Constantes

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

Métodos públicos

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

Verifica as flags compatíveis do cliente CAS.

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

Lê o arquivo de log do CAS ".INFO" do diretório especificado.

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

Lê o arquivo de registro do CAS do diretório especificado.

static String getCasLogFromDir(Path logDirPath, String clientName)

Lê o arquivo de log do CAS ".INFO" do diretório especificado e remove o diretório de log.

static boolean isChunkedDir(Path path)

Retorna "true" se o caminho especificado for um diretório válido com FastCDC.

static boolean isUncompressedDeviceImage(Path path)

Retorna "true" se o caminho fornecido for uma imagem de dispositivo válida e não compactada.

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

Valida se o caminho fornecido é um diretório válido com FastCDC.

Constantes

ANDROID_INFO_FILENAME

public static final String ANDROID_INFO_FILENAME

Valor da constante: "android-info.txt"

CAS_LOG_ROOT_NAME

public static final String CAS_LOG_ROOT_NAME

Valor da constante: "tf-cas-fuse-log-root"

CHUNKS_DIR_NAME

public static final String CHUNKS_DIR_NAME

Valor da constante: "_chunks"

CHUNKS_INDEX_FILENAME

public static final String CHUNKS_INDEX_FILENAME

Valor da constante: "_chunks_index.json"

SUPER_IMAGE_FILENAME

public static final String SUPER_IMAGE_FILENAME

Valor da constante: "super.img"

SYSTEM_IMAGE_FILENAME

public static final String SYSTEM_IMAGE_FILENAME

Valor da constante: "system.img"

Métodos públicos

checkCasClientFlags

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

Verifica as flags compatíveis do cliente CAS.

Parâmetros
clientPath Path: o caminho para o binário do cliente CAS.

flagsConsumerFn Consumer: um consumidor que aceita o conjunto de flags compatíveis.

createUniqueCasLogDir

public static Path createUniqueCasLogDir (Path logDirRootPath)

Parâmetros
logDirRootPath Path

Retorna
Path

Gera
IOException

ensureCasClientExecutable

public static void ensureCasClientExecutable (Path casClientPath, 
                boolean logMetricsIfNotExecutable)

Parâmetros
casClientPath Path

logMetricsIfNotExecutable boolean

getCasLogFromDir

public static String getCasLogFromDir (Path logDirPath)

Lê o arquivo de log do CAS ".INFO" do diretório especificado. Ele pressupõe que o diretório de registros seja para um único cliente do CAS e deduz o "clientName" do nome do arquivo de registro.

Parâmetros
logDirPath Path: o caminho do diretório para ler o arquivo de registro do CAS.

Retorna
String O conteúdo do arquivo de registro do CAS ou nulo se não for possível ler o arquivo de registro.

getCasLogFromDir

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

Lê o arquivo de registro do CAS do diretório especificado.

Parâmetros
logDirPath Path: o caminho do diretório para ler o arquivo de registro do CAS.

clientName String: o nome do cliente do CAS.

tag String: a tag do arquivo de registro do CAS, como "INFO", "WARNING", "ERROR" etc.

removeLogDirAfterRead boolean: indica se o diretório de registros será removido após a leitura do arquivo de registro.

Retorna
String O conteúdo do arquivo de registro do CAS.

Gera
IOException Se não for possível ler o arquivo de registro do CAS.

getCasLogFromDir

public static String getCasLogFromDir (Path logDirPath, 
                String clientName)

Lê o arquivo de log do CAS ".INFO" do diretório especificado e remove o diretório de log. Esse é um método de conveniência que envolve o método acima com parâmetros padrão. Ele também processa a IOException e retorna nulo se não for possível ler o arquivo de registro.

Parâmetros
logDirPath Path: o caminho do diretório para ler o arquivo de registro do CAS.

clientName String: o nome do cliente do CAS.

Retorna
String O conteúdo do arquivo de registro do CAS ou "" se não for possível ler o arquivo de registro.

isChunkedDir

public static boolean isChunkedDir (Path path)

Retorna true se o caminho fornecido for um diretório válido com FastCDC.

Parâmetros
path Path

Retorna
boolean

isUncompressedDeviceImage

public static boolean isUncompressedDeviceImage (Path path)

Retorna "true" se o caminho fornecido for uma imagem de dispositivo válida e não compactada.

Para uma verificação mais robusta e confiável, verifique a existência de (system.img ou super.img) E android-info.txt.

system.img/super.img: confirma se os dados principais do SO estão presentes.

android-info.txt: confirma que este é um pacote de build oficial com metadados que descrevem o dispositivo e a versão do build.

Essa combinação é extremamente improvável de ocorrer em um diretório que não seja uma imagem de dispositivo não compactada e processa corretamente casos como o build da TV, em que boot.img está ausente.

Parâmetros
path Path: o caminho absoluto para a imagem do dispositivo.

Retorna
boolean True se o caminho for uma imagem de dispositivo não compactada válida. Caso contrário, será false.

logCasClientVersion

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

Parâmetros
clientPath Path

versionHandlerFn Consumer

logCasClientVersion

public static void logCasClientVersion (Path clientPath)

Parâmetros
clientPath Path

validateChunkedDir

public static void validateChunkedDir (Path path)

Valida se o caminho fornecido é um diretório válido com FastCDC.

   device_image.zip/
     _chunks/
       _chunks_index.json
       chunk1.img
     _chunks_index.json
 
Somente o conteúdo do caminho de dados de origem é verificado quanto à validade. O _chunks_index.json precisa estar no diretório _chunks ou como um irmão de _chunks (para compatibilidade com versões anteriores).

Parâmetros
path Path: o caminho para o diretório fragmentado.

Gera
IOException Se o caminho não for um diretório válido com blocos FastCDC.