Ao desenvolver um aplicativo Android, é importante testá-lo sempre em um dispositivo real antes de distribuí-lo aos usuários. Esta página descreve como configurar seu ambiente de desenvolvimento e seu dispositivo Android para teste e depuração.
Você pode usar qualquer dispositivo Android como ambiente para executar, depurar e testar seus aplicativos. As ferramentas incluídas no SDK facilitam a instalação e a execução do aplicativo no dispositivo a cada compilação. Você pode instalar o aplicativo no dispositivo diretamente do Android Studio ou da linha de comando com ADB. Se ainda não tiver um dispositivo, verifique com os provedores de serviço na sua área para determinar quais dispositivos Android estão disponíveis.
Se quiser um celular desbloqueado, considere escolher um Nexus. Para comprar um celular Nexus, acesse a loja Google Play.
Observação: ao desenvolver em um dispositivo, lembre-se de que ainda é preciso usar o emulador do Android para testar seu aplicativo em configurações não equivalentes às do seu dispositivo físico. Apesar de o emulador não permitir o teste de todos os recursos do dispositivo (como o acelerômetro), ele permite que você verifique se seu aplicativo funciona adequadamente em diferentes versões da plataforma Android, em diferentes tamanhos e orientações de tela e muito mais.
Ativar opções do desenvolvedor no dispositivo
Dispositivos Android têm diversas opções de desenvolvedor que você pode acessar no telefone. Elas permitem as seguintes ações:
- Realizar depuração por USB.
- Capturar rapidamente relatórios de erros no dispositivo.
- Mostrar o uso de CPU na tela.
- Mostrar informações de depuração na tela, como limitações de layout, atualizações nas visualizações da GPU e nas camadas do hardware etc.
- E muitas outras opções para simular estresses de aplicativo ou permitir opções de depuração.
Para acessar essas configurações, abra as Developer options nas configurações do sistema. No Android 4.2 e superior, a tela Developer options é oculta por padrão. Para torná-la visível, acesse Settings > About phone e toque em Build number sete vezes. Retorne à tela anterior para encontrar as Developer options na parte inferior.
Configurar um dispositivo para desenvolvimento
Com um dispositivo Android, você pode desenvolver e depurar seus aplicativos Android da mesma forma que faria em um emulador. Antes de começar, execute alguns procedimentos:
- Verifique se seu aplicativo pode ser depurado no manifesto ou no arquivo build.gradle.
No arquivo de compilação, certifique-se de que a propriedade debuggable no tipo de compilação debug esteja definida como true. A propriedade do tipo de compilação substitui a configuração do manifesto.
android { buildTypes { debug { debuggable true }No arquivo
AndroidManifest.xml, adicioneandroid:debuggable="true"ao elemento<application>.Observação: se você ativar a depuração manualmente no arquivo de manifesto, desative-a na compilação de lançamento (geralmente, um aplicativo publicado não deve ser depurável).
- Ative a opção USB debugging no seu dispositivo acessando Settings > Developer options.
Observação: No Android 4.2 e em versões mais recentes, a opção Developer options é oculta por padrão. Para torná-la disponível, acesse Settings > About phone e toque em Build number sete vezes. Retorne à tela anterior para encontrar as Developer options.
- Configure seu sistema para detectar o dispositivo.
- Se estiver desenvolvendo no Windows, é preciso instalar um driver USB para ADB. Para obter um guia de instalação e links para drivers OEM, consulte o documento Drivers USB OEM.
- Se estiver desenvolvendo no Mac OS X, o recurso funciona. Pule esta etapa.
- Se está desenvolvendo no Ubuntu Linux, você deve adicionar um arquivo de regras
udevque contém uma configuração de USB para cada tipo de dispositivo que queira usar para desenvolvimento. No arquivo de regras, cada fabricante de dispositivo é identificado por um ID de fornecedor exclusivo, conforme especificado pela propriedadeATTR{idVendor}. Para obter uma lista de IDs de fornecedor, consulte IDs de fornecedores de USB abaixo. Para configurar a detecção de dispositivos no Ubuntu Linux:- Faça login como superusuário e crie este arquivo:
/etc/udev/rules.d/51-android.rules.Use este formato para adicionar cada fornecedor ao arquivo:
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
neste exemplo, o ID de fornecedor é da HTC. A atribuiçãoMODEespecifica as permissões de leitura/gravação eGROUPdefine qual grupo Unix é proprietário do nó do dispositivo.Observação: a sintaxe das regras pode variar ligeiramente dependendo do ambiente. Consulte a documentação de
udevpara seu sistema conforme a necessidade. Para obter uma visão geral da sintaxe das regras, consulte este guia sobre como criar regras de udev. - Agora, execute:
chmod a+r /etc/udev/rules.d/51-android.rules
- Faça login como superusuário e crie este arquivo:
Observação: quando conectar um dispositivo com Android 4.2.2 ou superior ao seu computador, o sistema mostrará uma caixa de diálogo perguntando se você deseja aceitar uma chave RSA que permite a depuração no computador. Esse mecanismo de segurança protege dispositivos de usuários, garantindo que a depuração de USB e outros comandos do ADB não possam ser executados a não ser que você possa desbloquear o dispositivo e confirmar a caixa de diálogo. Isso exige que você tenha o ADB versão 1.0.31 (dispositivo com o SDK Platform-tools r16.0.1 e posteriores) para depurar em um dispositivo com Android 4.2.2 ou posterior.
Quando estiver conectado por USB, você poderá verificar se o dispositivo está conectado executando adb devices no diretório platform-tools/ do SDK. Se estiver conectado, você verá o nome do dispositivo listado como “device”.
Se estiver usando o Android Studio, execute ou depure seu aplicativo normalmente. Será exibida uma caixa de diálogo Device Chooser que lista os emuladores disponíveis e dispositivos conectados. Selecione o dispositivo no qual deseja instalar e executar o aplicativo.
Se estiver usando o Android Debug Bridge (ADB), você poderá executar comandos com o sinalizador -d para direcioná-los ao dispositivo conectado.
IDs de fornecedores de USB
Esta tabela fornece uma referência aos IDs de fornecedores necessários para adicionar suporte a dispositivos USB no Linux. O ID de fornecedor de USB é o valor fornecido à propriedade ATTR{idVendor} no arquivo de regras, conforme descrito acima.
| Empresa | ID de fornecedor de USB |
|---|---|
| Acer | 0502 |
| ASUS | 0b05 |
| Dell | 413c |
| Foxconn | 0489 |
| Fujitsu | 04c5 |
| Fujitsu Toshiba | 04c5 |
| Garmin-Asus | 091e |
18d1 |
|
| Haier | 201E |
| Hisense | 109b |
| HP | 03f0 |
| HTC | 0bb4 |
| Huawei | 12d1 |
| Intel | 8087 |
| K-Touch | 24e3 |
| KT Tech | 2116 |
| Kyocera | 0482 |
| Lenovo | 17ef |
| LG | 1004 |
| Motorola | 22b8 |
| MTK | 0e8d |
| NEC | 0409 |
| Nook | 2080 |
| Nvidia | 0955 |
| OTGV | 2257 |
| Pantech | 10a9 |
| Pegatron | 1d4d |
| Philips | 0471 |
| PMC-Sierra | 04da |
| Qualcomm | 05c6 |
| SK Telesys | 1f53 |
| Samsung | 04e8 |
| Sharp | 04dd |
| Sony | 054c |
| Sony Ericsson | 0fce |
| Sony Mobile Communications | 0fce |
| Teleepoch | 2340 |
| Toshiba | 0930 |
| ZTE | 19d2 |