Trang này giải thích một số tác vụ bạn có thể cần thực hiện nếu bạn đang thiết lập bản dựng cho thiết bị của riêng mình.
Tạo cấu hình flash tùy chỉnh
Hướng dẫn Fastboot được xác định trong một tạo phẩm có tên fastboot-info.txt
. Nếu bạn xây dựng nhiều mục tiêu, bạn sẽ có nhiều tệp fastboot-info.txt
trong $OUT_DIR . Và $ANDROID_PRODUCT_OUT
trỏ tới mục tiêu mới nhất mà bạn đã xây dựng. Trang này liệt kê các tác vụ để fastboot thực thi và có thể được tạo lại bằng m fastboot_info
. Bạn có thể giới thiệu logic nhấp nháy tùy chỉnh bằng cách sửa đổi tệp fastboot-info.txt
.
Tệp fastboot-info.txt
hỗ trợ các lệnh sau:
-
flash %s
: Flash một phân vùng nhất định. Các đối số tùy chọn bao gồm--slot-other,
filename_path, and
--apply-vbmeta`. -
update-super
: Cập nhật siêu phân vùng. -
if-wipe
: Chạy có điều kiện một số thành phần khác nếu thao tác xóa được chỉ định. -
erase %s
: Xóa một phân vùng nhất định (chỉ có thể sử dụng kết hợp vớiif-wipe
-> ví dụ:if-wipe erase cache
).
Xác định trạng thái khóa flash
Nếu bạn đang xây dựng một daemon flashboot tùy chỉnh (flashbootd) cho một thiết bị, bạn cần có khả năng lấy được trạng thái khóa bootloader và bootloader. getFlashLockState()
@SystemApi
truyền trạng thái bộ nạp khởi động và API hệ thống PersistentDataBlockManager.getFlashLockState()
trả về trạng thái khóa của bộ nạp khởi động trên các thiết bị tuân thủ.
Giá trị trả về | Điều kiện |
---|---|
FLASH_LOCK_UNKNOWN | Chỉ được trả về bởi các thiết bị nâng cấp lên Android 7.x trở lên mà trước đây không hỗ trợ các thay đổi bộ nạp khởi động cần thiết để có trạng thái khóa flash nếu chúng hỗ trợ khả năng khóa/mở khóa nhấp nháy.
|
FLASH_LOCK_LOCKED | Trả về bởi bất kỳ thiết bị nào không hỗ trợ khóa/mở khóa nhấp nháy (tức là thiết bị luôn bị khóa) hoặc bất kỳ thiết bị nào hỗ trợ khóa/mở khóa nhấp nháy và đang ở trạng thái khóa. |
FLASH_LOCK_UNLOCKED | Được trả về bởi bất kỳ thiết bị nào hỗ trợ khóa/mở khóa nhấp nháy và đang ở trạng thái mở khóa. |
Các nhà sản xuất nên kiểm tra các giá trị được trả về bởi các thiết bị có bộ nạp khởi động bị khóa và mở khóa. Ví dụ: AOSP chứa triển khai tham chiếu trả về giá trị dựa trên thuộc tính khởi động ro.boot.flash.locked
. Mã ví dụ nằm trong các thư mục sau:
-
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
-
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java