Na tej stronie znajdziesz informacje o kilku zadaniach, które mogą być konieczne podczas konfigurowania kompilacji na własnym urządzeniu.
Tworzenie niestandardowej konfiguracji flash
Instrukcje dotyczące Fastboota są zdefiniowane w artefakcie o nazwie fastboot-info.txt. Jeśli
tworzysz kompilację dla kilku miejsc docelowych, znajdziesz kilka plików fastboot-info.txt w
$OUT_DIR. Z kolei $ANDROID_PRODUCT_OUT wskazuje najnowsze miejsce docelowe, dla którego utworzono kompilację. Ta strona zawiera listę zadań, które Fastboot ma wykonać. Można ją wygenerować ponownie za pomocą polecenia m fastboot_info. Możesz wprowadzić niestandardową logikę flashowania, modyfikując plik fastboot-info.txt.
Plik fastboot-info.txt obsługuje te polecenia:
flash %s: flashuje daną partycję. Opcjonalne argumenty to--slot-other,filename_path, and--apply-vbmeta`.update-super: aktualizuje partycję super.if-wipe: warunkowo uruchamia inny komponent, jeśli określono wyczyszczenie.erase %s: czyści daną partycję (może być używane tylko w połączeniu z poleceniemif-wipe-> np.if-wipe erase cache).
Określanie stanu blokady flash
Jeśli tworzysz niestandardowego demona flashboot (flashbootd) na urządzeniu, musisz mieć możliwość uzyskania stanu programu rozruchowego i jego blokady. Interfejs
getFlashLockState() @SystemApi przesyła stan programu rozruchowego
, a interfejs systemowy PersistentDataBlockManager.getFlashLockState() zwraca stan blokady programu rozruchowego na zgodnych urządzeniach.
| Zwracana wartość | Warunki |
|---|---|
FLASH_LOCK_UNKNOWN |
Zwracana tylko przez urządzenia, które są aktualizowane do Androida 7.x lub nowszego i które wcześniej nie obsługiwały zmian w programie rozruchowym wymaganych do uzyskania stanu blokady flash, jeśli obsługiwały możliwość blokowania i odblokowywania flashowania.
|
FLASH_LOCK_LOCKED |
Zwracana przez każde urządzenie, które nie obsługuje blokowania i odblokowywania flashowania (czyli urządzenie jest zawsze zablokowane), lub przez każde urządzenie, które obsługuje blokowanie i odblokowywanie flashowania i jest w stanie zablokowanym. |
FLASH_LOCK_UNLOCKED |
Zwracana przez każde urządzenie, które obsługuje blokowanie i odblokowywanie flashowania i jest w stanie odblokowanym. |
Producenci powinni testować wartości zwracane przez urządzenia z zablokowanym i odblokowanym programem rozruchowym. Na przykład AOSP zawiera implementację referencyjną, która zwraca wartość na podstawie właściwości programu rozruchowego ro.boot.flash.locked. Przykładowy kod znajduje się w tych katalogach:
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.javaframeworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java