이 페이지에서는 자신의 장치에 대한 빌드를 설정하는 경우 수행해야 할 수 있는 몇 가지 작업을 설명합니다.
사용자 정의 플래시 구성 만들기
Fastboot 지침은 fastboot-info.txt
라는 아티팩트에 정의되어 있습니다. 여러 타겟을 빌드하는 경우 $OUT_DIR 에 fastboot-info.txt
파일이 여러 개 생성됩니다. 그리고 $ANDROID_PRODUCT_OUT
귀하가 구축한 가장 최근의 타겟을 가리킵니다. 이 페이지에는 실행할 fastboot 작업이 나열되어 있으며 m fastboot_info
사용하여 다시 생성할 수 있습니다. fastboot-info.txt
파일을 수정하여 사용자 지정 플래싱 논리를 도입할 수 있습니다.
fastboot-info.txt
파일은 다음 명령을 지원합니다.
-
flash %s
: 주어진 파티션을 플래시합니다. 선택적 인수에는--slot-other,
filename_path, and
--apply-vbmeta`가 포함됩니다. -
update-super
: super 파티션을 업데이트합니다. -
if-wipe
: 초기화가 지정된 경우 다른 구성 요소를 조건부로 실행합니다. -
erase %s
: 지정된 파티션을 지웁니다(if-wipe
-> 예:if-wipe erase cache
와 함께만 사용할 수 있음).
플래시 잠금 상태 확인
장치에 대한 사용자 정의 flashboot 데몬(flashbootd)을 구축하는 경우 부트로더 및 부트로더 잠금 상태를 얻을 수 있어야 합니다. getFlashLockState()
@SystemApi
부트로더 상태를 전송하고 PersistentDataBlockManager.getFlashLockState()
시스템 API는 호환 장치에서 부트로더의 잠금 상태를 반환합니다.
반환 값 | 정황 |
---|---|
FLASH_LOCK_UNKNOWN | 이전에 플래시 잠금/잠금 해제 기능을 지원하는 경우 플래시 잠금 상태를 가져오는 데 필요한 부트로더 변경을 지원하지 않은 Android 7.x 이상으로 업그레이드하는 기기에서만 반환됩니다.
|
FLASH_LOCK_LOCKED | 깜박이는 잠금/잠금 해제를 지원하지 않는 장치(즉, 장치가 항상 잠겨 있음) 또는 깜박이는 잠금/잠금 해제를 지원하고 잠금 상태인 모든 장치에서 반환됩니다. |
FLASH_LOCK_UNLOCKED | 깜박이는 잠금/잠금 해제를 지원하고 잠금 해제 상태인 모든 장치에서 반환됩니다. |
제조업체는 부트로더가 잠겨 있거나 잠금 해제된 기기에서 반환되는 값을 테스트해야 합니다. 예를 들어 AOSP에는 ro.boot.flash.locked
부팅 속성을 기반으로 값을 반환하는 참조 구현이 포함되어 있습니다. 예제 코드는 다음 디렉터리에 있습니다.
-
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
-
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java