CasUtil

public final class CasUtil
extends Object

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


Tóm tắt

Các hằng số

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

Phương thức công khai

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

Kiểm tra các cờ được hỗ trợ của ứng dụng CAS.

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

Đọc tệp nhật ký CAS ".INFO" từ thư mục đã cho.

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

Đọc tệp nhật ký CAS từ thư mục đã cho.

static String getCasLogFromDir(Path logDirPath, String clientName)

Đọc tệp nhật ký CAS ".INFO" từ thư mục đã cho và xoá thư mục nhật ký.

static boolean isChunkedDir(Path path)

Trả về true nếu đường dẫn đã cho là một thư mục hợp lệ được chia thành các khối FastCDC.

static boolean isUncompressedDeviceImage(Path path)

Trả về true nếu đường dẫn đã cho là một hình ảnh thiết bị chưa nén hợp lệ.

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

Xác thực rằng đường dẫn đã cho là một thư mục hợp lệ được phân thành các khối FastCDC.

Hằng số

ANDROID_INFO_FILENAME

public static final String ANDROID_INFO_FILENAME

Giá trị không đổi: "android-info.txt"

CAS_LOG_ROOT_NAME

public static final String CAS_LOG_ROOT_NAME

Giá trị không đổi: "tf-cas-fuse-log-root"

CHUNKS_DIR_NAME

public static final String CHUNKS_DIR_NAME

Giá trị không đổi: "_chunks"

CHUNKS_INDEX_FILENAME

public static final String CHUNKS_INDEX_FILENAME

Giá trị không đổi: "_chunks_index.json"

SUPER_IMAGE_FILENAME

public static final String SUPER_IMAGE_FILENAME

Giá trị không đổi: "super.img"

SYSTEM_IMAGE_FILENAME

public static final String SYSTEM_IMAGE_FILENAME

Giá trị không đổi: "system.img"

Phương thức công khai

checkCasClientFlags

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

Kiểm tra các cờ được hỗ trợ của ứng dụng CAS.

Tham số
clientPath Path: Đường dẫn đến tệp nhị phân của ứng dụng CAS.

flagsConsumerFn Consumer: Một người dùng chấp nhận tập hợp các cờ được hỗ trợ.

createUniqueCasLogDir

public static Path createUniqueCasLogDir (Path logDirRootPath)

Tham số
logDirRootPath Path

Giá trị trả về
Path

Gửi
IOException

ensureCasClientExecutable

public static void ensureCasClientExecutable (Path casClientPath, 
                boolean logMetricsIfNotExecutable)

Tham số
casClientPath Path

logMetricsIfNotExecutable boolean

getCasLogFromDir

public static String getCasLogFromDir (Path logDirPath)

Đọc tệp nhật ký CAS ".INFO" từ thư mục đã cho. Thao tác này giả định thư mục nhật ký dành cho một ứng dụng CAS và suy ra "clientName" từ tên tệp nhật ký.

Tham số
logDirPath Path: Đường dẫn thư mục để đọc tệp nhật ký CAS.

Giá trị trả về
String Nội dung tệp nhật ký CAS hoặc giá trị rỗng nếu không đọc được tệp nhật ký.

getCasLogFromDir

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

Đọc tệp nhật ký CAS từ thư mục đã cho.

Tham số
logDirPath Path: Đường dẫn thư mục để đọc tệp nhật ký CAS.

clientName String: Tên của ứng dụng CAS.

tag String: Thẻ của tệp nhật ký CAS, chẳng hạn như "INFO", "WARNING", "ERROR", v.v.

removeLogDirAfterRead boolean: Có xoá thư mục nhật ký sau khi đọc tệp nhật ký hay không.

Giá trị trả về
String Nội dung tệp nhật ký CAS.

Gửi
IOException Nếu không đọc được tệp nhật ký CAS.

getCasLogFromDir

public static String getCasLogFromDir (Path logDirPath, 
                String clientName)

Đọc tệp nhật ký CAS ".INFO" từ thư mục đã cho và xoá thư mục nhật ký. Đây là một phương thức tiện lợi giúp bao bọc phương thức ở trên bằng các tham số mặc định. Phương thức này cũng xử lý IOException và trả về giá trị rỗng nếu không đọc được tệp nhật ký.

Tham số
logDirPath Path: Đường dẫn thư mục để đọc tệp nhật ký CAS.

clientName String: Tên của ứng dụng CAS.

Giá trị trả về
String Nội dung tệp nhật ký CAS hoặc "" nếu không đọc được tệp nhật ký.

isChunkedDir

public static boolean isChunkedDir (Path path)

Trả về true nếu đường dẫn đã cho là một thư mục hợp lệ được chia thành các khối FastCDC.

Tham số
path Path

Giá trị trả về
boolean

isUncompressedDeviceImage

public static boolean isUncompressedDeviceImage (Path path)

Trả về true nếu đường dẫn đã cho là một hình ảnh thiết bị chưa nén hợp lệ.

Để kiểm tra một cách mạnh mẽ và đáng tin cậy nhất, hãy xác minh sự tồn tại của (system.img hoặc super.img) VÀ android-info.txt.

system.img/super.img: Xác nhận rằng dữ liệu hệ điều hành cốt lõi có xuất hiện.

android-info.txt: Xác nhận rằng đây là một gói bản dựng chính thức có siêu dữ liệu mô tả thiết bị và phiên bản bản dựng.

Rất khó xảy ra trường hợp kết hợp này trong một thư mục không phải là hình ảnh thiết bị chưa nén và xử lý chính xác các trường hợp như bản dựng TV không có boot.img.

Tham số
path Path: Đường dẫn tuyệt đối đến hình ảnh thiết bị.

Giá trị trả về
boolean True nếu đường dẫn là một hình ảnh thiết bị chưa nén hợp lệ, false nếu không.

logCasClientVersion

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

Tham số
clientPath Path

versionHandlerFn Consumer

logCasClientVersion

public static void logCasClientVersion (Path clientPath)

Tham số
clientPath Path

validateChunkedDir

public static void validateChunkedDir (Path path)

Xác thực rằng đường dẫn đã cho là một thư mục hợp lệ được phân thành các khối FastCDC.

   device_image.zip/
     _chunks/
       _chunks_index.json
       chunk1.img
     _chunks_index.json
 
Chỉ nội dung của đường dẫn dữ liệu nguồn mới được kiểm tra tính hợp lệ. _chunks_index.json phải có trong thư mục _chunks hoặc là thư mục cùng cấp của _chunks (để tương thích ngược).

Tham số
path Path: Đường dẫn đến thư mục phân đoạn.

Gửi
IOException Nếu đường dẫn không phải là một thư mục hợp lệ được chia thành các khối FastCDC.