Esta página fornece detalhes para executar compilações em dispositivos específicos. Esses detalhes complementam as informações em Construindo o Android .
Construindo fastboot e adb
Se você ainda não possui fastboot
e adb
, poderá construí-los com o sistema de compilação normal. Use as instruções em Construindo Android e substitua o comando make
principal por este:
make fastboot adb
Consulte Android Debug Bridge (ADB) para obter detalhes sobre o Android Debug Bridge (ADB).
Inicializando no modo fastboot
Você pode atualizar um dispositivo quando ele estiver no modo fastboot
bootloader. Para entrar no modo fastboot
quando um dispositivo está passando por uma inicialização a frio, use as combinações de teclas listadas em Combinações de teclas Fastboot.
Você também pode usar o comando adb reboot bootloader
para reinicializar diretamente no bootloader. Consulte as instruções de flash para obter instruções completas.
Desbloqueando o bootloader
Você pode atualizar um sistema personalizado somente se o bootloader permitir. Observe, porém, que o bootloader está bloqueado por padrão. Você pode desbloquear o bootloader, mas isso excluirá os dados do usuário por motivos de privacidade. Após o desbloqueio, todos os dados do dispositivo são apagados, ou seja, tanto os dados privados do aplicativo quanto os dados compartilhados acessíveis por USB (incluindo fotos e filmes). Antes de tentar desbloquear o bootloader, faça backup de todos os arquivos importantes do dispositivo.
Você precisa desbloquear o bootloader apenas uma vez e pode bloqueá-lo novamente, se necessário.
Desbloqueando dispositivos recentes
Todos os dispositivos Nexus e Pixel lançados desde 2014 (começando com Nexus 6 e Nexus 9) têm proteção contra redefinição de fábrica e exigem um processo de várias etapas para desbloquear o bootloader.
- Para ativar o desbloqueio OEM no dispositivo:
- Em Configurações, toque em Sobre o telefone e toque em Número da versão sete vezes.
- Ao ver a mensagem Agora você é um desenvolvedor! , toque no botão Voltar .
- Em Configurações, toque em Sistema , em seguida, toque em Opções do desenvolvedor e ative o desbloqueio OEM e a depuração USB . (Se o desbloqueio OEM estiver desativado, conecte-se à Internet para que o dispositivo possa fazer check-in pelo menos uma vez. Se permanecer desativado, seu dispositivo pode estar bloqueado pelo SIM pela sua operadora e o bootloader não pode ser desbloqueado.)
- Reinicie no bootloader e use
fastboot
para desbloqueá-lo.- Para dispositivos mais recentes (2015 e superiores):
fastboot flashing unlock
- Para dispositivos mais antigos (2014 e anteriores):
fastboot oem unlock
- Para dispositivos mais recentes (2015 e superiores):
- Confirme o desbloqueio na tela.
Bloqueando novamente o bootloader
Para bloquear novamente o bootloader:
- Para dispositivos mais recentes (2015 e superiores):
fastboot flashing lock
- Para dispositivos mais antigos (2014 e anteriores):
fastboot oem lock
Usando estados de bloqueio de flash
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 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, 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 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
Selecionando uma construção de dispositivo
As compilações de dispositivos recomendadas estão disponíveis no menu lunch
, acessado ao executar o comando lunch
sem argumentos. Para obter informações adicionais sobre o comando lunch
, consulte Escolha um destino . Para obter uma lista de destinos de build, consulte Destinos de build .
Você pode baixar imagens de fábrica e binários para dispositivos Pixel e Nexus em developers.google.com . Consulte Binários de dispositivos para downloads. Para obter detalhes e recursos adicionais, consulte Obtendo binários proprietários .
Dispositivo | Nome de código | Configuração de compilação |
---|---|---|
Pixel 7 Pro | guepardo | aosp_cheetah-userdebug |
Pixel 7 | pantera | aosp_panther-userdebug |
Pixel 6 Pro | Raven | aosp_raven-userdebug |
Pixel 6 | papa-figo | aosp_oriole-userdebug |
Pixel 5 | redfin | aosp_redfin-userdebug |
Pixel 4a 5G | espinheiro | aosp_bramble-userdebug |
Pixel 4a | peixe-lua | aosp_sunfish-userdebug |
Pixel 4XL | coral | aosp_coral-userdebug |
Pixel 4 | chama | aosp_flame-userdebug |
Pixel 3aXL | bonito | aosp_bonito-userdebug |
Pixel 3a | sargo | aosp_sargo-userdebug |
Pixel3XL | hachurado | aosp_crosshatch-userdebug |
Pixel 3 | linha Azul | aosp_blueline-userdebug |
Pixel 2XL | taimen | aosp_taimen-userdebug |
Pixel 2 | walleye | aosp_walleye-userdebug |
PixelXL | marlim | aosp_marlin-userdebug |
Pixel | veleiro | aosp_sailfish-userdebug |
Olá Chave | caminhada | hikey-userdebug |
Nexus 6P | pescador | aosp_angler-userdebug |
Nexus 5X | cabeça-dura | aosp_bullhead-userdebug |
Nexus 6 | shamu | aosp_shamu-userdebug |
Jogador Nexus | fugu | aosp_fugu-userdebug |
Nexus 9 | volantis (linguado) | aosp_flounder-userdebug |
Nexus 5 (GSM/LTE) | tubarão-martelo | aosp_hammerhead-userdebug |
Nexus 7 (Wi-Fi) | navalha (flo) | aosp_flo-userdebug |
Nexus 7 (móvel) | Razorg (deb) | aosp_deb-userdebug |
Nexus 10 | mantaray (manta) | full_manta-userdebug |
Nexus 4 | occam (mako) | full_mako-userdebug |
Nexus 7 (Wi-Fi) | nakasi (garoupa) | full_grouper-userdebug |
Nexus 7 (móvel) | nakasig (tilápia) | full_tilapia-userdebug |
Galaxy Nexus (GSM/HSPA+) | yakju (maguro) | full_maguro-userdebug |
Galáxia Nexus (Verizon) | mysid (toro) | √aosp_toro-userdebug |
Galáxia Nexus (Experimental) | mysidspr (toroplus) | aosp_toroplus-userdebug |
Motorola Xoom (Wi-Fi dos EUA) | arraia | full_wingray-userdebug |
Nexus S | soju (crespo) | full_crespo-userdebug |
Nexus S 4G | sojus (crespo4g) | full_crespo4g-userdebug |
Piscando um dispositivo
Você pode atualizar um sistema Android inteiro com um único comando; fazer isso verifica se o sistema que está sendo atualizado é compatível com o bootloader e o rádio instalados, grava as partições de inicialização, recuperação e sistema juntas e, em seguida, reinicia o sistema. Piscar também apaga todos os dados do usuário, de forma semelhante ao fastboot oem unlock
.
Para atualizar um dispositivo:
- Descompacte o arquivo de imagem em seu próprio diretório.
- Defina a variável de ambiente
ANDROID_PRODUCT_OUT
para apontar para o mesmo diretório usado na etapa 1. - Coloque o dispositivo no modo
fastboot
mantendo pressionada a combinação de teclas apropriada na inicialização ou usando o seguinte comando:adb reboot bootloader
- Depois que o dispositivo estiver no modo fastboot, execute:
fastboot flashall -w
A opção-w
limpa a partição/data
do dispositivo; isso é útil na primeira vez que atualiza um dispositivo específico, mas é desnecessário.
Configurações intermitentes
As instruções do Fastboot são explicadas em um artefato chamado fastboot-info.txt que reside em $ANDROID_PRODUCT_OUT/*
Este documento .txt lista de tarefas para o fastboot executar e pode ser regenerado via m fastboot_info
. Lógica de flash personalizada pode ser introduzida modificando este arquivo
comandos suportados:
- flash %s : Flash em uma determinada partição. Argumentos opcionais incluem
--slot-other, {filename_path}, --apply-vbmeta
- update-super : Atualiza a super partição
- if-wipe : Executa condicionalmente alguma outra funcionalidade se a limpeza for especificada
- erase %s : Apaga uma determinada partição (só pode ser usada em conjunto) com if-wipe -> por exemplo.
if-wipe erase cache
Restaurando dispositivos ao estado de fábrica
As imagens de fábrica para dispositivos Google estão disponíveis em Imagens de fábrica para dispositivos Nexus e Pixel . As imagens de fábrica do Motorola Xoom são distribuídas diretamente pela Motorola.
Resolver erros de permissão negada
Por padrão, na maioria dos sistemas Linux, usuários sem privilégios não podem acessar portas USB. Se você vir 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 parar o ADB com adb kill-server
. Este comando faz com que o ADB seja reiniciado com a nova configuração.