blob: a41f18012729c160b0e302f097948109d0c83b5e [file] [log] [blame] [edit]
<html devsite><head>
<title>Como executar versões</title>
<meta name="project_path" value="/_project.yaml"/>
<meta name="book_path" value="/_book.yaml"/>
</head>
<body>
<!--
Copyright 2017 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<p>Esta página fornece detalhes para executar criações em dispositivos específicos e complementa as informações apresentadas em <a href="building.html">Preparo para a criação</a>.
</p>
<h2 id="building-fastboot-and-adb">Como criar fastboot e adb</h2>
<p>Se você ainda não tem o <code>fastboot</code> e o <code>adb</code>, você pode criá-los com o sistema de criação normal. Use as instruções apresentadas em <a href="building.html">Preparo para a criação</a> e substitua o comando <code>make</code> principal por:</p>
<pre class="devsite-click-to-copy devsite-terminal">make fastboot adb</pre>
<h2 id="booting-into-fastboot-mode">Como inicializar no modo fastboot</h2>
<p><code>Fastboot</code> é um modo do carregador de inicialização em que é possível realizar a atualização flash de um dispositivo.
Durante uma inicialização a frio de um dispositivo, use as seguintes combinações de teclas para inicializar no modo <code>fastboot</code>:</p>
<table>
<thead>
<tr>
<th>Dispositivo</th>
<th>Codinome</th>
<th>Chaves</th>
</tr>
</thead>
<tbody>
<tr>
<td>Pixel 3 XL</td>
<td>crosshatch</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Pixel 3</td>
<td>blueline</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Pixel 2 XL</td>
<td>taimen</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Pixel 2</td>
<td>walleye</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Pixel XL</td>
<td>marlin</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Pixel</td>
<td>sailfish</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>hikey</td>
<td>hikey</td>
<td>Ligue os pinos 1-2 e 5-6 do J15.</td>
</tr>
<tr>
<td>Nexus 6P</td>
<td>angler</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Nexus 5X</td>
<td>bullhead</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Nexus 6</td>
<td>shamu</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Nexus Player</td>
<td>fugu</td>
<td>Toque no botão <em>liga/desliga</em> e mantenha-o pressionado.</td>
</tr>
<tr>
<td>Nexus 9</td>
<td>volantis</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Nexus 5</td>
<td>hammerhead</td>
<td>Toque nos botões <em>aumentar volume</em> e <em>diminuir volume</em>, mantenha-os pressionados e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Nexus 7</td>
<td>flo</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Nexus 7 3G</td>
<td>deb</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Nexus 10</td>
<td>manta</td>
<td>Toque nos botões <em>aumentar volume</em> e <em>diminuir volume</em>, mantenha-os pressionados e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Nexus 4</td>
<td>mako</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Nexus 7 (2012)</td>
<td>grouper</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Nexus 7 3G (2012)</td>
<td>tilapia</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Nexus Q</td>
<td>phantasm</td>
<td>Ligue o dispositivo e cubra-o com uma mão depois que os LEDs acenderem e até que eles fiquem vermelhos.</td>
</tr>
<tr>
<td>Galaxy Nexus GSM</td>
<td>maguro</td>
<td>Toque nos botões <em>aumentar volume</em> e <em>diminuir volume</em>, mantenha-os pressionados e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Galaxy Nexus (Verizon)</td>
<td>toro</td>
<td>Toque nos botões <em>aumentar volume</em> e <em>diminuir volume</em>, mantenha-os pressionados e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Galaxy Nexus (Sprint)</td>
<td>toroplus</td>
<td>Toque nos botões <em>aumentar volume</em> e <em>diminuir volume</em>, mantenha-os pressionados e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Motorola Xoom</td>
<td>wingray</td>
<td>Toque no botão <em>diminuir volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Nexus S</td>
<td>crespo</td>
<td>Toque no botão <em>aumentar volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
<tr>
<td>Nexus SG</td>
<td>crespo4g</td>
<td>Toque no botão <em>aumentar volume</em>, mantenha-o pressionado e depois faça o mesmo com o botão <em>liga/desliga</em>.</td>
</tr>
</tbody>
</table>
<p>Você também pode usar o comando <code>adb reboot bootloader</code> para reinicializar do Android diretamente no carregador de inicialização sem usar combinações de teclas.</p>
<h2 id="unlocking-the-bootloader">Como desbloquear o carregador de inicialização</h2>
<p>Só será possível atualizar com flash um sistema personalizado se o carregador de inicialização permitir, e ele fica bloqueado por padrão. Você pode desbloqueá-lo, mas essa ação exclui os dados do usuário por motivos de privacidade. Após o desbloqueio, <em>todos</em> os dados no dispositivo são apagados, ou seja, tanto dados privados de apps quanto dados compartilhados acessíveis via USB (incluindo fotos e filmes). Antes de tentar desbloquear o carregador de inicialização, lembre-se de fazer backup de todos os arquivos importantes no dispositivo.</p>
<p>Será necessário desbloquear o carregador de inicialização apenas uma vez, e você poderá bloqueá-lo novamente, se necessário.</p>
<h3>Como desbloquear dispositivos recentes</h3>
<p>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 a configuração original e exigem um processo de várias etapas para desbloquear o carregador de inicialização.</p>
<ol>
<li>Para ativar o desbloqueio de OEM no dispositivo:
<ol>
<li>Em Config., toque em <strong>Sobre o dispositivo</strong> e toque em <strong>Número da versão</strong> sete vezes.</li>
<li>Quando a mensagem "Você é um desenvolvedor", for exibida, toque no botão "Voltar".</li>
<li>Toque em <strong>Opções do desenvolvedor</strong> e ative o <strong>Desbloqueio de OEM</strong> e a <strong>Depuração USB</strong>. Se o desbloqueio de OEM estiver desativado, conecte-se à Internet para que o dispositivo possa fazer check-in pelo menos uma vez. Se ele continuar desativado, o dispositivo pode conter bloqueio de chip da operadora, e o carregador de inicialização não poderá ser desbloqueado nesse caso.</li>
</ol>
</li>
<li>Reinicialize o carregador de inicialização e use <code>fastboot</code> para desbloqueá-lo.
<ul>
<li>Para novos dispositivos (2015 e posteriores):
<pre class="devsite-click-to-copy devsite-terminal">fastboot flashing unlock</pre>
</li>
<li>Para dispositivos mais antigos (2014 e anteriores):
<pre class="devsite-click-to-copy devsite-terminal">fastboot oem unlock</pre>
</li>
</ul>
</li>
<li>Confirme o desbloqueio na tela.</li>
</ol>
<aside class="note"><strong>Observação</strong>: no Nexus 10, depois de desbloquear o carregador de inicialização, o armazenamento interno permanece não formatado. É possível formatar o dispositivo usando <code>fastboot format cache</code> seguido por <code>fastboot format userdata</code>.</aside>
<h3 id="relocking-the-bootloader">Como bloquear o carregador de inicialização novamente</h3>
<p>Para bloquear o carregador de inicialização novamente:</p>
<ul>
<li>Para novos dispositivos (2015 e posteriores):
<pre class="devsite-click-to-copy devsite-terminal">fastboot flashing lock</pre>
</li>
<li>Para dispositivos mais antigos (2014 e anteriores):
<pre class="devsite-click-to-copy devsite-terminal">fastboot oem lock</pre>
</li>
</ul>
<aside class="note"><strong>Observação</strong>: bloquear novamente o carregador de inicialização em um Motorola Xoom apaga os dados do usuário (incluindo os dados compartilhados por USB).</aside>
<h2 id="flash-unlock">Como usar o desbloqueio de atualização flash</h2>
<p>A API do sistema <code>getFlashLockState()</code> transmite o estado do carregador de inicialização, e a API do sistema <code>PersistentDataBlockManager.getFlashLockState()</code> retorna o status de bloqueio do carregador de inicialização em dispositivos compatíveis.</p>
<table>
<tbody><tr>
<th>Valor de retorno</th>
<th>Condições</th>
</tr>
<tr>
<td><code>FLASH_LOCK_UNKNOWN</code></td>
<td>Retornado apenas por dispositivos que passaram por upgrade para o Android 7.x ou versões posteriores e que não eram compatíveis anteriormente com as alterações do carregador de inicialização necessárias para receber o status de bloqueio da atualização flash, caso fossem compatíveis com a funcionalidade de bloqueio/desbloqueio de atualização flash.<br />
<ul>
<li>Os novos dispositivos com o Android 7.x ou versões posteriores precisam ter um estado <code>FLASH_LOCK_LOCKED</code> ou <code>FLASH_LOCK_UNLOCKED</code>.</li>
<li>Os dispositivos que passaram por upgrade para o Android 7.x ou versões posteriores e que não são compatíveis com a funcionalidade de desbloqueio/bloqueio de atualização flash precisam retornar o estado <code>FLASH_LOCK_LOCKED</code>.</li>
</ul>
</td>
</tr>
<tr>
<td><code>FLASH_LOCK_LOCKED</code></td>
<td>Precisa ser retornado por qualquer dispositivo não compatível com bloqueio/desbloqueio de atualização flash (ou seja, um dispositivo que esteja sempre bloqueado) ou qualquer dispositivo compatível com bloqueio/desbloqueio de atualização flash e que esteja no estado bloqueado.</td>
</tr>
<tr>
<td><code>FLASH_LOCK_UNLOCKED</code></td>
<td>Retornado por qualquer dispositivo compatível com o bloqueio/desbloqueio de atualização flash e que esteja no estado desbloqueado.</td>
</tr>
</tbody></table>
<p>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 <code>ro.boot.flash.locked</code>. O código de exemplo encontra-se nos seguintes diretórios:</p>
<ul>
<li><code>frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java</code></li>
<li><code>frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java</code></li>
</ul>
<h2 id="selecting-device-build">Como selecionar uma versão do dispositivo</h2>
<p>As versões recomendadas para os dispositivos estão disponíveis no menu <code>lunch</code>, acessadas ao executar o comando <code>lunch</code> sem argumentos.
Faça o download de binários e imagens de fábrica para dispositivos Nexus em developers.google.com. Consulte <a href="requirements#binaries">Binários de dispositivos</a> para ver os downloads. Para ver mais detalhes e outros recursos, consulte <a href="building.html#obtaining-proprietary-binaries">Como adquirir binários reservados</a>.
<table>
<thead>
<tr>
<th>Dispositivo</th>
<th>Codinome</th>
<th>Configuração da versão</th>
</tr>
</thead>
<tbody>
<tr>
<td>Pixel 3 XL</td>
<td>crosshatch</td>
<td>aosp_crosshatch-userdebug</td>
</tr>
<tr>
<td>Pixel 3</td>
<td>blueline</td>
<td>aosp_blueline-userdebug</td>
</tr>
<tr>
<td>Pixel 2 XL</td>
<td>taimen</td>
<td>aosp_taimen-userdebug</td>
</tr>
<tr>
<td>Pixel 2</td>
<td>walleye</td>
<td>aosp_walleye-userdebug</td>
</tr>
<tr>
<td>Pixel XL</td>
<td>marlin</td>
<td>aosp_marlin-userdebug</td>
</tr>
<tr>
<td>Pixel</td>
<td>sailfish</td>
<td>aosp_sailfish-userdebug</td>
</tr>
<tr>
<td>HiKey</td>
<td>hikey</td>
<td>hikey-userdebug</td>
</tr>
<tr>
<td>Nexus 6P</td>
<td>angler</td>
<td>aosp_angler-userdebug</td>
</tr>
<tr>
<td>Nexus 5X</td>
<td>bullhead</td>
<td>aosp_bullhead-userdebug</td>
</tr>
<tr>
<td>Nexus 6</td>
<td>shamu</td>
<td>aosp_shamu-userdebug</td>
</tr>
<tr>
<td>Nexus Player</td>
<td>fugu</td>
<td>aosp_fugu-userdebug</td>
</tr>
<tr>
<td>Nexus 9</td>
<td>volantis (flounder)</td>
<td>aosp_flounder-userdebug</td>
</tr>
<tr>
<td>Nexus 5 (GSM/LTE)</td>
<td>hammerhead</td>
<td>aosp_hammerhead-userdebug</td>
</tr>
<tr>
<td>Nexus 7 (Wi-Fi)</td>
<td>razor (flo)</td>
<td>aosp_flo-userdebug</td>
</tr>
<tr>
<td>Nexus 7 (Celular)</td>
<td>razorg (deb)</td>
<td>aosp_deb-userdebug</td>
</tr>
<tr>
<td>Nexus 10</td>
<td>mantaray (manta)</td>
<td>full_manta-userdebug</td>
</tr>
<tr>
<td>Nexus 4</td>
<td>occam (mako)</td>
<td>full_mako-userdebug</td>
</tr>
<tr>
<td>Nexus 7 (Wi-Fi)</td>
<td>nakasi (grouper)</td>
<td>full_grouper-userdebug</td>
</tr>
<tr>
<td>Nexus 7 (Celular)</td>
<td>nakasig (tilapia)</td>
<td>full_tilapia-userdebug</td>
</tr>
<tr>
<td>Galaxy Nexus (GSM/HSPA+)</td>
<td>yakju (maguro)</td>
<td>full_maguro-userdebug</td>
</tr>
<tr>
<td>Galaxy Nexus (Verizon)</td>
<td>mysid (toro)</td>
<td>aosp_toro-userdebug</td>
</tr>
<tr>
<td>Galaxy Nexus (Experimental)</td>
<td>mysidspr (toroplus)</td>
<td>aosp_toroplus-userdebug</td>
</tr>
<tr>
<td>Motorola Xoom (Wi-Fi dos EUA)</td>
<td>wingray</td>
<td>full_wingray-userdebug</td>
</tr>
<tr>
<td>Nexus S</td>
<td>soju (crespo)</td>
<td>full_crespo-userdebug</td>
</tr>
<tr>
<td>Nexus S 4G</td>
<td>sojus (crespo4g)</td>
<td>full_crespo4g-userdebug</td>
</tr>
</tbody>
</table>
</p><aside class="note"><strong>Observação</strong>: não utilize o Android 4.1.1 em um Nexus 7 originalmente vendido com o Android 4.1.2 ou outra versão mais recente.</aside>
<h2 id="flashing-a-device">Como realizar uma atualização flash em um dispositivo</h2>
<p>É possível realizar uma atualização flash em todo o sistema Android com um único comando. Fazer isso verifica se o sistema que está sendo atualizado com flash é 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. Atualizar com flash também apaga todos os dados do usuário, da mesma forma que <code>fastboot oem
unlock</code>.</p>
<p>Para realizar uma atualização flash em um dispositivo:</p>
<ol>
<li>Coloque o dispositivo no modo <code>fastboot</code> pressionando a combinação de teclas apropriada durante a inicialização ou usando o seguinte comando:
<pre class="devsite-click-to-copy devsite-terminal">adb reboot bootloader</pre></li>
<li>Depois que o dispositivo estiver no modo fastboot, execute:
<pre class="devsite-click-to-copy devsite-terminal">fastboot flashall -w</pre>
A opção <code>-w</code> exclui permanentemente a partição <code>/data</code> no dispositivo. Isso é útil na primeira vez em que você realiza uma atualização flash em um dispositivo, mas é desnecessário nas demais ocasiões.</li>
</ol>
<aside class="note"><strong>Observação</strong>: os sistemas de arquivos criados via <code>fastboot</code> no Motorola Xoom não funcionam de maneira ideal. Recomendamos recriar os sistemas de arquivos por meio da recuperação usando <code>$ adb reboot
recovery</code>. Durante a recuperação, abra o menu (pressione o botão liga/desliga + aumentar volume), exclua permanentemente a partição de cache e os dados.</aside>
<h2 id="restoring-devices-to-factory-state">Como restaurar dispositivos para o estado de fábrica</h2>
<p>Imagens de fábrica para dispositivos do Google estão disponíveis em <a href="https://developers.google.com/android/nexus/images" class="external">Imagens de fábrica para dispositivos Nexus e Pixel</a>. Imagens de fábrica para o Motorola Xoom são distribuídas diretamente pela Motorola.</p>
</body></html>