CasUtil

public final class CasUtil
extends Object

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


Ringkasan

Konstanta

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

Metode publik

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

Memeriksa flag yang didukung klien CAS.

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

Membaca file log CAS ".INFO" dari direktori yang ditentukan.

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

Membaca file log CAS dari direktori yang ditentukan.

static String getCasLogFromDir(Path logDirPath, String clientName)

Membaca file log CAS ".INFO" dari direktori yang diberikan dan menghapus direktori log.

static boolean isChunkedDir(Path path)

Menampilkan nilai benar (true) jika jalur yang diberikan adalah direktori yang di-chunk FastCDC yang valid.

static boolean isUncompressedDeviceImage(Path path)

Menampilkan nilai benar (true) jika jalur yang diberikan adalah image perangkat tidak terkompresi yang valid.

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

Memvalidasi bahwa jalur yang diberikan adalah direktori yang di-chunk FastCDC yang valid.

Konstanta

ANDROID_INFO_FILENAME

public static final String ANDROID_INFO_FILENAME

Nilai Konstanta: "android-info.txt"

CAS_LOG_ROOT_NAME

public static final String CAS_LOG_ROOT_NAME

Nilai Konstanta: "tf-cas-fuse-log-root"

CHUNKS_DIR_NAME

public static final String CHUNKS_DIR_NAME

Nilai Konstanta: "_chunks"

CHUNKS_INDEX_FILENAME

public static final String CHUNKS_INDEX_FILENAME

Nilai Konstanta: "_chunks_index.json"

SUPER_IMAGE_FILENAME

public static final String SUPER_IMAGE_FILENAME

Nilai Konstanta: "super.img"

SYSTEM_IMAGE_FILENAME

public static final String SYSTEM_IMAGE_FILENAME

Nilai Konstanta: "system.img"

Metode publik

checkCasClientFlags

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

Memeriksa flag yang didukung klien CAS.

Parameter
clientPath Path: Jalur ke biner klien CAS.

flagsConsumerFn Consumer: Konsumen yang menerima kumpulan tanda yang didukung.

createUniqueCasLogDir

public static Path createUniqueCasLogDir (Path logDirRootPath)

Parameter
logDirRootPath Path

Hasil
Path

Menampilkan
IOException

ensureCasClientExecutable

public static void ensureCasClientExecutable (Path casClientPath, 
                boolean logMetricsIfNotExecutable)

Parameter
casClientPath Path

logMetricsIfNotExecutable boolean

getCasLogFromDir

public static String getCasLogFromDir (Path logDirPath)

Membaca file log CAS ".INFO" dari direktori yang ditentukan. Skrip ini mengasumsikan bahwa direktori log ditujukan untuk satu klien CAS dan menyimpulkan `clientName` dari nama file log.

Parameter
logDirPath Path: Jalur direktori untuk membaca file log CAS.

Hasil
String Konten file log CAS atau null jika file log tidak dapat dibaca.

getCasLogFromDir

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

Membaca file log CAS dari direktori yang ditentukan.

Parameter
logDirPath Path: Jalur direktori untuk membaca file log CAS.

clientName String: Nama klien CAS.

tag String: Tag file log CAS, seperti "INFO", "WARNING", "ERROR", dll.

removeLogDirAfterRead boolean: Apakah akan menghapus direktori log setelah membaca file log.

Hasil
String Isi file log CAS.

Menampilkan
IOException Jika file log CAS tidak dapat dibaca.

getCasLogFromDir

public static String getCasLogFromDir (Path logDirPath, 
                String clientName)

Membaca file log CAS ".INFO" dari direktori yang diberikan dan menghapus direktori log. Ini adalah metode praktis yang membungkus metode di atas dengan parameter default. Metode ini juga menangani IOException dan menampilkan nilai null jika file log tidak dapat dibaca.

Parameter
logDirPath Path: Jalur direktori untuk membaca file log CAS.

clientName String: Nama klien CAS.

Hasil
String Isi file log CAS atau "" jika file log tidak dapat dibaca.

isChunkedDir

public static boolean isChunkedDir (Path path)

Menampilkan nilai benar (true) jika jalur yang diberikan adalah direktori yang di-chunk FastCDC yang valid.

Parameter
path Path

Hasil
boolean

isUncompressedDeviceImage

public static boolean isUncompressedDeviceImage (Path path)

Menampilkan nilai benar (true) jika jalur yang diberikan adalah image perangkat tidak terkompresi yang valid.

Untuk pemeriksaan yang paling kuat dan andal, verifikasi keberadaan (system.img atau super.img) DAN android-info.txt.

system.img/super.img: Memastikan bahwa data OS inti ada.

android-info.txt: Mengonfirmasi bahwa ini adalah paket build resmi dengan metadata yang menjelaskan perangkat dan versi build.

Kombinasi ini sangat tidak mungkin terjadi di direktori yang bukan image perangkat yang tidak dikompresi dan menangani kasus dengan benar seperti build TV saat boot.img tidak ada.

Parameter
path Path: Jalur absolut ke image perangkat.

Hasil
boolean Benar jika jalur adalah image perangkat tidak terkompresi yang valid, salah jika tidak.

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)

Memvalidasi bahwa jalur yang diberikan adalah direktori yang di-chunk FastCDC yang valid.

   device_image.zip/
     _chunks/
       _chunks_index.json
       chunk1.img
     _chunks_index.json
 
Hanya konten jalur data sumber yang diperiksa validitasnya. _chunks_index.json harus ada di direktori _chunks atau sebagai saudara dari _chunks (untuk kompatibilitas mundur).

Parameter
path Path: Jalur ke direktori yang di-chunk.

Menampilkan
IOException Jika jalur bukan direktori yang di-chunk FastCDC yang valid.