Halaman ini menjelaskan beberapa tugas yang mungkin perlu Anda lakukan jika Anda menyiapkan build untuk perangkat Anda sendiri.
Buat konfigurasi flash khusus
Instruksi fastboot didefinisikan dalam artefak bernama fastboot-info.txt
. Jika Anda membuat beberapa target, Anda akan memiliki beberapa file fastboot-info.txt
di $OUT_DIR . Dan, $ANDROID_PRODUCT_OUT
menunjuk ke target terkini yang Anda buat. Halaman ini berisi daftar tugas yang harus dijalankan fastboot dan dapat dibuat ulang menggunakan m fastboot_info
. Anda dapat memperkenalkan logika flashing khusus dengan memodifikasi file fastboot-info.txt
.
File fastboot-info.txt
mendukung perintah berikut:
-
flash %s
: Mem-flash partisi tertentu. Argumen opsional mencakup--slot-other,
filename_path, and
--apply-vbmeta`. -
update-super
: Memperbarui partisi super. -
if-wipe
: Menjalankan beberapa komponen lain secara kondisional jika penghapusan ditentukan. -
erase %s
: Menghapus partisi tertentu (hanya dapat digunakan bersama denganif-wipe
-> misalnyaif-wipe erase cache
).
Tentukan status kunci flash
Jika Anda membuat daemon flashboot khusus (flashbootd) untuk suatu perangkat, Anda harus bisa mendapatkan status bootloader dan kunci bootloader. getFlashLockState()
@SystemApi
mentransmisikan status bootloader dan API sistem PersistentDataBlockManager.getFlashLockState()
mengembalikan status kunci bootloader pada perangkat yang sesuai.
Nilai kembalian | Kondisi |
---|---|
FLASH_LOCK_UNKNOWN | Hanya dikembalikan oleh perangkat yang diupgrade ke Android 7.x atau lebih tinggi yang sebelumnya tidak mendukung perubahan bootloader yang diperlukan untuk mendapatkan status kunci flash jika mendukung kemampuan kunci/buka kunci flash.
|
FLASH_LOCK_LOCKED | Dikembalikan oleh perangkat apa pun yang tidak mendukung flashing lock/unlock (yaitu, perangkat selalu terkunci), atau perangkat apa pun yang mendukung flashing lock/unlock dan dalam keadaan terkunci. |
FLASH_LOCK_UNLOCKED | Dikembalikan oleh perangkat apa pun yang mendukung kunci/buka kunci berkedip dan dalam keadaan tidak terkunci. |
Produsen harus menguji nilai yang dikembalikan oleh perangkat dengan bootloader terkunci dan tidak terkunci. Misalnya, AOSP berisi implementasi referensi yang mengembalikan nilai berdasarkan properti boot ro.boot.flash.locked
. Kode contoh terletak di direktori berikut:
-
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
-
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java