Esta página fornece detalhes para executar builds em dispositivos específicos. Esses detalhes complementam as informações em Como criar para Android.
Como criar fastboot e adb
Se você ainda não tem o fastboot
e o adb
, pode
criá-los com o sistema de compilação normal. Use as instruções em
Como criar para Android e substitua o
comando make
principal por este:
make fastboot adb
Consulte Android Debug Bridge (adb) para ver detalhes sobre o Android Debug Bridge.
Como inicializar no modo fastboot
Você pode atualizar um dispositivo quando ele estiver no modo de carregador de inicialização
fastboot
. Para entrar no modo fastboot
quando um dispositivo estiver passando por uma inicialização
a frio, use as combinações de tecla listadas em
Combinações de teclas para fastboot
Também é possível usar o comando adb reboot bootloader
para reinicializar
diretamente no carregador de inicialização. Para ver todos os detalhes, consulte as
Instruções de atualização.
Como desbloquear o carregador de inicialização
Só será possível atualizar um sistema personalizado se o carregador de inicialização permitir. No entanto, o carregador estará bloqueado por padrão. Ele pode ser desbloqueado, mas essa ação exclui os dados do usuário por motivos de privacidade. Após o desbloqueio, todos os dados no dispositivo são apagados, ou seja, tanto dados particulares de apps quanto dados compartilhados acessíveis via USB (incluindo fotos e filmes). Antes de tentar desbloquear o carregador de inicialização, faça backup de todos os arquivos importantes no dispositivo.
O desbloqueio precisa ser feito apenas uma vez e, se necessário, você pode bloqueá-lo de novo.
Como desbloquear dispositivos recentes
Todos os dispositivos Nexus e Pixel lançados desde 2014 (a partir do Nexus 6 e o Nexus 9) trazem proteção contra a redefinição para configuração original e exigem um processo de várias etapas para desbloquear o carregador de inicialização.
- Para ativar o desbloqueio de OEM no dispositivo:
- No app Configurações, toque em Sobre o dispositivo e depois toque em Número da versão sete vezes.
- Quando aparecer a mensagem Você agora é um desenvolvedor, toque no botão Voltar.
- No app Configurações, toque em Sistema, depois em Opções do desenvolvedor e ative o Desbloqueio de OEM e a Depuração USB. Se a opção Desbloqueio de OEM estiver desativada, conecte-se à Internet para que o dispositivo possa fazer check-in pelo menos uma vez. Se ela continuar desativada, isso significa que o dispositivo pode ter um bloqueio de chip da operadora e, nesse caso, o carregador de inicialização não poderá ser desbloqueado.
- Reinicie o carregador de inicialização e use
fastboot
para desbloqueá-lo.- Para dispositivos mais recentes (2015 e mais recentes):
fastboot flashing unlock
- Para dispositivos mais antigos (2014 e anteriores):
fastboot oem unlock
- Para dispositivos mais recentes (2015 e mais recentes):
- Confirme o desbloqueio na tela.
Como bloquear o carregador de inicialização novamente
Para bloquear o carregador de inicialização novamente:
- Para dispositivos mais recentes (2015 e mais recentes):
fastboot flashing lock
- Para dispositivos mais antigos (2014 e anteriores):
fastboot oem lock
Como usar os estados de bloqueio de atualização
A API do sistema getFlashLockState()
transmite o estado do
carregador de inicialização, e a API do sistema PersistentDataBlockManager.getFlashLockState()
retorna
o status de bloqueio do carregador de inicialização em dispositivos compatíveis.
Valor de retorno | Condições |
---|---|
FLASH_LOCK_UNKNOWN |
Retornado apenas por dispositivos que passaram por upgrade para o Android 7.x ou versões mais recentes e que
anteriormente não eram compatíveis com as mudanças do carregador de inicialização necessárias para receber o status de bloqueio de atualização,
caso fossem compatíveis com a funcionalidade de bloqueio/desbloqueio de atualização.
|
FLASH_LOCK_LOCKED |
Retornado por qualquer dispositivo que não oferece suporte ao bloqueio/desbloqueio de atualização (ou seja, um dispositivo que esteja sempre bloqueado) ou qualquer dispositivo com suporte ao bloqueio/desbloqueio de atualização e que esteja no estado bloqueado. |
FLASH_LOCK_UNLOCKED |
Retornado por qualquer dispositivo compatível com o bloqueio/desbloqueio de atualização flash e que esteja no estado desbloqueado. |
Os fabricantes precisam testar os valores retornados pelos dispositivos com carregadores de inicialização bloqueados
e desbloqueados. Por exemplo, o Android Open Source Project (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 pode ser encontrado nos
diretórios abaixo:
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java
Como selecionar um build do dispositivo
Os builds recomendados para os dispositivos estão disponíveis no menu lunch
,
acessados ao executar o comando lunch
sem argumentos.
Para mais informações sobre o comando lunch
, consulte
Escolher um destino.
Para uma lista de destinos de build, consulte
Destinos de build.
Você pode fazer o download de binários e imagens de fábrica para dispositivos Pixel e Nexus em developers.google.com. Consulte Binários de dispositivos para downloads. Para ver mais detalhes e recursos adicionais, consulte Como adquirir binários reservados.
Dispositivo | Codinome | Configuração do build |
---|---|---|
Pixel 7 Pro | cheetah | aosp_cheetah-userdebug |
Pixel 7 | panther | aosp_panther-userdebug |
Pixel 6 Pro | raven | aosp_raven-userdebug |
Pixel 6 | oriole | aosp_oriole-userdebug |
Pixel 5 | redfin | aosp_redfin-userdebug |
Pixel 4a 5G | bramble | aosp_bramble-userdebug |
Pixel 4a | sunfish | aosp_sunfish-userdebug |
Pixel 4 XL | coral | aosp_coral-userdebug |
Pixel 4 | flame | aosp_flame-userdebug |
Pixel 3a XL | bonito | aosp_bonito-userdebug |
Pixel 3a | sargo | aosp_sargo-userdebug |
Pixel 3 XL | crosshatch | aosp_crosshatch-userdebug |
Pixel 3 | blueline | aosp_blueline-userdebug |
Pixel 2 XL | taimen | aosp_taimen-userdebug |
Pixel 2 | walleye | aosp_walleye-userdebug |
Pixel XL | marlin | aosp_marlin-userdebug |
Pixel | sailfish | aosp_sailfish-userdebug |
HiKey | hikey | hikey-userdebug |
Nexus 6P | angler | aosp_angler-userdebug |
Nexus 5X | bullhead | aosp_bullhead-userdebug |
Nexus 6 | shamu | aosp_shamu-userdebug |
Nexus Player | fugu | aosp_fugu-userdebug |
Nexus 9 | volantis (flounder) | aosp_flounder-userdebug |
Nexus 5 (GSM/LTE) | hammerhead | aosp_hammerhead-userdebug |
Nexus 7 (Wi-Fi) | razor (flo) | aosp_flo-userdebug |
Nexus 7 (Celular) | razorg (deb) | aosp_deb-userdebug |
Nexus 10 | mantaray (manta) | full_manta-userdebug |
Nexus 4 | occam (mako) | full_mako-userdebug |
Nexus 7 (Wi-Fi) | nakasi (grouper) | full_grouper-userdebug |
Nexus 7 (Celular) | nakasig (tilapia) | full_tilapia-userdebug |
Galaxy Nexus (GSM/HSPA+) | yakju (maguro) | full_maguro-userdebug |
Galaxy Nexus (Verizon) | mysid (toro) | √aosp_toro-userdebug |
Galaxy Nexus (Experimental) | mysidspr (toroplus) | aosp_toroplus-userdebug |
Motorola Xoom (Wi-Fi dos EUA) | wingray | full_wingray-userdebug |
Nexus S | soju (crespo) | full_crespo-userdebug |
Nexus S 4G | sojus (crespo4g) | full_crespo4g-userdebug |
Como realizar uma atualização flash em um dispositivo
É possível atualizar todo o sistema Android com um único comando. Essa ação verifica
se o sistema que está sendo atualizado é compatível com o carregador de inicialização e o rádio instalados,
grava as partições de inicialização, recuperação e sistema juntas e reinicializa o
sistema. A atualização também apaga todos os dados do usuário, da mesma forma que fastboot oem
unlock
.
Para atualizar um dispositivo:
- Descompacte o arquivo de imagem no diretório dele.
- Defina a variável de ambiente
ANDROID_PRODUCT_OUT
de modo que aponte para o mesmo diretório usado na primeira etapa. - Coloque o dispositivo no modo
fastboot
pressionando a combinação de teclas adequada durante a inicialização ou usando este comando:adb reboot bootloader
. - Depois que o dispositivo estiver no modo fastboot, execute:
fastboot flashall -w
. A opção-w
exclui a partição/data
no dispositivo. Isso é útil para a primeira atualização de um dispositivo específico; caso contrário, é desnecessário.
Configurações de atualização
As instruções de fastboot são explicadas em um artefato chamado fastboot-info.txt, encontrado em
$ANDROID_PRODUCT_OUT/*
. Esse documento .txt contém uma lista de tarefas para o fastboot executar e
pode ser regenerado via m fastboot_info
. Uma lógica de atualização personalizada pode ser introduzida
ao modificar esse arquivo.
Comandos disponíveis:
- flash %s: atualiza uma partição específica. Argumentos opcionais incluem
--slot-other, {filename_path}, --apply-vbmeta
- update-super: atualiza a superpartição
- if-wipe: executa outra funcionalidade condicionalmente quando "wipe" é especificado
- erase %s: apaga uma partição específica. Só pode ser usado em conjunto
com if-wipe. Por exemplo:
if-wipe erase cache
Como restaurar dispositivos para o estado de fábrica
Imagens de fábrica para dispositivos do Google estão disponíveis em Imagens de fábrica para dispositivos Nexus e Pixel. Imagens de fábrica para o Motorola Xoom são distribuídas diretamente pela Motorola.
Resolver erros de permissão negada
Na maioria dos sistemas Linux, os usuários sem privilégios não podem acessar as portas USB por padrão. Se você encontrar um erro de permissão negada, consulte as instruções do Android Studio para Configurar um dispositivo para desenvolvimento.
Se o adb já estava em execução e não consegue se conectar ao
dispositivo, você pode interrompê-lo com adb kill-server
. Esse comando faz com que o adb seja reiniciado com
a nova configuração.