Esta página explica diversas tarefas que você pode precisar executar se estiver configurando uma compilação para seu próprio dispositivo.
Crie uma configuração flash personalizada
As instruções do Fastboot são definidas em um artefato chamado fastboot-info.txt
. Se você criar vários destinos, terá vários arquivos fastboot-info.txt
no $OUT_DIR . E $ANDROID_PRODUCT_OUT
aponta para o alvo mais atual que você construiu. Esta página lista as tarefas para execução do fastboot e pode ser regenerada usando m fastboot_info
. Você pode introduzir uma lógica de flash personalizada modificando o arquivo fastboot-info.txt
.
O arquivo fastboot-info.txt
suporta estes comandos:
-
flash %s
: Pisca uma determinada partição. Argumentos opcionais incluem--slot-other,
filename_path, and
--apply-vbmeta`. -
update-super
: Atualiza a superpartição. -
if-wipe
: Executa condicionalmente algum outro componente se uma limpeza for especificada. -
erase %s
: Apaga uma determinada partição (só pode ser usado em conjunto comif-wipe
-> por exemplo,if-wipe erase cache
).
Determinar o estado de bloqueio do flash
Se você estiver construindo um daemon flashboot personalizado (flashbootd) para um dispositivo, você precisará obter o bootloader e o estado de bloqueio do bootloader. O getFlashLockState()
@SystemApi
transmite o estado do bootloader e a API do sistema PersistentDataBlockManager.getFlashLockState()
retorna o status de bloqueio do bootloader em dispositivos compatíveis.
Valor de retorno | Condições |
---|---|
FLASH_LOCK_UNKNOWN | Retornado apenas por dispositivos atualizados para o Android 7.x ou superior que não eram compatíveis anteriormente com as alterações do carregador de inicialização necessárias para obter o status de bloqueio de flash se eles suportassem o recurso de bloqueio/desbloqueio de flash.
|
FLASH_LOCK_LOCKED | Retornado por qualquer dispositivo que não suporte bloqueio/desbloqueio intermitente (ou seja, o dispositivo está sempre bloqueado) ou qualquer dispositivo que suporte bloqueio/desbloqueio intermitente e esteja no estado bloqueado. |
FLASH_LOCK_UNLOCKED | Retornado por qualquer dispositivo que suporte bloqueio/desbloqueio intermitente e esteja no estado desbloqueado. |
Os fabricantes devem testar os valores retornados pelos dispositivos com bootloaders bloqueados e desbloqueados. Por exemplo, AOSP contém uma implementação de referência que retorna um valor baseado na propriedade de inicialização ro.boot.flash.locked
. O código de exemplo está localizado nos seguintes diretórios:
-
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
-
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java