CasUtil

public final class CasUtil
extends Object

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


สรุป

ค่าคงที่

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

เมธอดสาธารณะ

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

ตรวจสอบค่าสถานะที่ไคลเอ็นต์ CAS รองรับ

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

อ่านไฟล์บันทึก CAS ".INFO" จากไดเรกทอรีที่ระบุ

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

อ่านไฟล์บันทึก CAS จากไดเรกทอรีที่ระบุ

static String getCasLogFromDir(Path logDirPath, String clientName)

อ่านไฟล์บันทึก CAS ".INFO" จากไดเรกทอรีที่ระบุและนำไดเรกทอรีบันทึก ออก

static boolean isChunkedDir(Path path)

แสดงค่าจริงหากเส้นทางที่ระบุเป็นไดเรกทอรีที่แบ่งเป็น FastCDC ที่ถูกต้อง

static boolean isUncompressedDeviceImage(Path path)

แสดงผลเป็นจริงหากเส้นทางที่ระบุเป็นรูปภาพอุปกรณ์ที่ถูกต้องและไม่ได้บีบอัด

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

ตรวจสอบว่าเส้นทางที่ระบุเป็นไดเรกทอรีที่แบ่งเป็น FastCDC ที่ถูกต้อง

ค่าคงที่

ANDROID_INFO_FILENAME

public static final String ANDROID_INFO_FILENAME

ค่าคงที่: "android-info.txt"

CAS_LOG_ROOT_NAME

public static final String CAS_LOG_ROOT_NAME

ค่าคงที่ "tf-cas-fuse-log-root"

CHUNKS_DIR_NAME

public static final String CHUNKS_DIR_NAME

ค่าคงที่: "_chunks"

CHUNKS_INDEX_FILENAME

public static final String CHUNKS_INDEX_FILENAME

ค่าคงที่ "_chunks_index.json"

SUPER_IMAGE_FILENAME

public static final String SUPER_IMAGE_FILENAME

ค่าคงที่: "super.img"

SYSTEM_IMAGE_FILENAME

public static final String SYSTEM_IMAGE_FILENAME

ค่าคงที่ "system.img"

เมธอดสาธารณะ

checkCasClientFlags

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

ตรวจสอบค่าสถานะที่ไคลเอ็นต์ CAS รองรับ

พารามิเตอร์
clientPath Path: เส้นทางไปยังไบนารีของไคลเอ็นต์ CAS

flagsConsumerFn Consumer: ผู้ใช้ที่ยอมรับชุดค่าสถานะที่รองรับ

createUniqueCasLogDir

public static Path createUniqueCasLogDir (Path logDirRootPath)

พารามิเตอร์
logDirRootPath Path

การคืนสินค้า
Path

ส่ง
IOException

ensureCasClientExecutable

public static void ensureCasClientExecutable (Path casClientPath, 
                boolean logMetricsIfNotExecutable)

พารามิเตอร์
casClientPath Path

logMetricsIfNotExecutable boolean

getCasLogFromDir

public static String getCasLogFromDir (Path logDirPath)

อ่านไฟล์บันทึก CAS ".INFO" จากไดเรกทอรีที่ระบุ โดยจะถือว่าไดเรกทอรีบันทึก มีไว้สำหรับไคลเอ็นต์ CAS รายเดียว และอนุมาน `clientName` จากชื่อไฟล์บันทึก

พารามิเตอร์
logDirPath Path: เส้นทางไดเรกทอรีเพื่ออ่านไฟล์บันทึก CAS

การคืนสินค้า
String เนื้อหาไฟล์บันทึก CAS หรือ null หากอ่านไฟล์บันทึกไม่ได้

getCasLogFromDir

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

อ่านไฟล์บันทึก CAS จากไดเรกทอรีที่ระบุ

พารามิเตอร์
logDirPath Path: เส้นทางไดเรกทอรีเพื่ออ่านไฟล์บันทึก CAS

clientName String: ชื่อของไคลเอ็นต์ CAS

tag String: แท็กของไฟล์บันทึก CAS เช่น "INFO" "WARNING" "ERROR" เป็นต้น

removeLogDirAfterRead boolean: จะนำไดเรกทอรีบันทึกออกหลังจากอ่านไฟล์บันทึกหรือไม่

การคืนสินค้า
String เนื้อหาไฟล์บันทึก CAS

ส่ง
IOException หากอ่านไฟล์บันทึก CAS ไม่ได้

getCasLogFromDir

public static String getCasLogFromDir (Path logDirPath, 
                String clientName)

อ่านไฟล์บันทึก CAS ".INFO" จากไดเรกทอรีที่ระบุและนำไดเรกทอรีบันทึก ออก นี่เป็นวิธีที่สะดวกซึ่งครอบคลุมวิธีข้างต้นด้วยพารามิเตอร์เริ่มต้น นอกจากนี้ ยังจัดการ IOException และแสดงผลเป็น null หากอ่านไฟล์บันทึกไม่ได้

พารามิเตอร์
logDirPath Path: เส้นทางไดเรกทอรีเพื่ออ่านไฟล์บันทึก CAS

clientName String: ชื่อของไคลเอ็นต์ CAS

การคืนสินค้า
String เนื้อหาของไฟล์บันทึก CAS หรือ "" หากอ่านไฟล์บันทึกไม่ได้

isChunkedDir

public static boolean isChunkedDir (Path path)

แสดงค่าจริงหากเส้นทางที่ระบุเป็นไดเรกทอรีที่แบ่งเป็น FastCDC ที่ถูกต้อง

พารามิเตอร์
path Path

การคืนสินค้า
boolean

isUncompressedDeviceImage

public static boolean isUncompressedDeviceImage (Path path)

แสดงผลเป็นจริงหากเส้นทางที่ระบุเป็นรูปภาพอุปกรณ์ที่ถูกต้องและไม่ได้บีบอัด

หากต้องการตรวจสอบที่แข็งแกร่งและเชื่อถือได้มากที่สุด ให้ยืนยันการมีอยู่ของ (system.img หรือ super.img) และ android-info.txt

system.img/super.img: ยืนยันว่ามีข้อมูลระบบปฏิบัติการหลัก

android-info.txt: ยืนยันว่านี่คือแพ็กเกจบิลด์อย่างเป็นทางการที่มีข้อมูลเมตาที่อธิบาย อุปกรณ์และเวอร์ชันบิลด์

การผสมผสานนี้ไม่น่าจะเกิดขึ้นในไดเรกทอรีที่ไม่ใช่รูปภาพอุปกรณ์ที่ไม่ได้บีบอัด และจัดการกรณีต่างๆ ได้อย่างถูกต้อง เช่น บิลด์ทีวีที่ไม่มี boot.img

พารามิเตอร์
path Path: เส้นทางแบบสัมบูรณ์ไปยังรูปภาพอุปกรณ์

การคืนสินค้า
boolean เป็นจริงหากเส้นทางเป็นรูปภาพอุปกรณ์ที่ไม่มีการบีบอัดที่ถูกต้อง มิเช่นนั้นจะเป็นเท็จ

logCasClientVersion

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

พารามิเตอร์
clientPath Path

versionHandlerFn Consumer

logCasClientVersion

public static void logCasClientVersion (Path clientPath)

พารามิเตอร์
clientPath Path

validateChunkedDir

public static void validateChunkedDir (Path path)

ตรวจสอบว่าเส้นทางที่ระบุเป็นไดเรกทอรีที่แบ่งเป็น FastCDC ที่ถูกต้อง

   device_image.zip/
     _chunks/
       _chunks_index.json
       chunk1.img
     _chunks_index.json
 
ระบบจะตรวจสอบความถูกต้องของเนื้อหาในเส้นทางข้อมูลต้นทางเท่านั้น _chunks_index.json ต้องอยู่ในไดเรกทอรี _chunks หรือเป็นไฟล์ที่อยู่ข้างเคียงกับ _chunks (เพื่อความเข้ากันได้แบบย้อนหลัง)

พารามิเตอร์
path Path: เส้นทางไปยังไดเรกทอรีที่แบ่งเป็นก้อน

ส่ง
IOException หากเส้นทางไม่ใช่ไดเรกทอรีที่แบ่งเป็น FastCDC ที่ถูกต้อง