Na tej stronie znajdziesz opis kilku zadań, które mogą być potrzebne podczas konfigurowania kompilacji na własnym urządzeniu.
Tworzenie niestandardowej konfiguracji lampy błyskowej
Instrukcje Fastboot są zdefiniowane w artefakcie o nazwie fastboot-info.txt
. Jeśli utworzysz wiele elementów docelowych, w folderze $OUT_DIR znajdzie się kilka plików fastboot-info.txt
. Symbol $ANDROID_PRODUCT_OUT
wskazuje najnowszy utworzony przez Ciebie cel. Na tej stronie znajdziesz listę zadań, które ma wykonać fastboot. Możesz ją ponownie wygenerować za pomocą polecenia m fastboot_info
. Możesz wprowadzić niestandardową logikę migania, modyfikując plik fastboot-info.txt
.
Plik fastboot-info.txt
obsługuje te polecenia:
flash %s
: Flashuje daną partycję. Opcjonalne argumenty to m.in.--slot-other,
filename_path, and
--apply-vbmeta`.update-super
: aktualizuje superpartycję.if-wipe
: warunkowo uruchamia inny komponent, jeśli określono wyczyszczenie.erase %s
: usuwa daną partycję (może być używana tylko w połączeniu zif-wipe
– np.if-wipe erase cache
).
Określanie stanu blokady lampy błyskowej
Jeśli tworzysz niestandardowy demon flashbootd dla urządzenia, musisz mieć możliwość uzyskania informacji o programie rozruchowym i jego stanie blokady. getFlashLockState()
@SystemApi
przesyła stan programu rozruchowego, a PersistentDataBlockManager.getFlashLockState()
interfejs API systemu
zwraca stan blokady programu rozruchowego na zgodnych urządzeniach.
Zwracana wartość | Schorzenia |
---|---|
FLASH_LOCK_UNKNOWN |
Zwracany tylko przez urządzenia, które są aktualizowane do Androida 7.x lub nowszego i nie obsługiwały wcześniej zmian w programie rozruchowym wymaganych do uzyskania stanu blokady flash, jeśli obsługiwały możliwość blokowania/odblokowywania flashowania.
|
FLASH_LOCK_LOCKED |
Zwracany przez każde urządzenie, które nie obsługuje blokowania/odblokowywania flashowania (czyli urządzenie jest zawsze zablokowane), lub każde urządzenie, które obsługuje blokowanie/odblokowywanie flashowania i jest w stanie zablokowanym. |
FLASH_LOCK_UNLOCKED |
Zwracany przez każde urządzenie, które obsługuje blokowanie i odblokowywanie za pomocą migania i jest odblokowane. |
Producenci powinni przetestować wartości zwracane przez urządzenia z zablokowanymi i odblokowanymi programami rozruchowymi. Na przykład AOSP zawiera implementację referencyjną, która zwraca wartość na podstawie właściwości rozruchu ro.boot.flash.locked
. Przykładowy kod znajduje się w tych katalogach:
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java