sexta-feira, 30 de abril de 2010

Desenvolvendo Android no aparelho real

Olá povo,

Com o crescimento impressionante do Android, os aparelhos estão ficando cada vez mais acessíveis para os usuários. Hoje podemos comprar celulares Android por cerca de R$800. Dessa forma, os desenvolvedores podem começar a deixar um pouco o emulado de lado e partir pra desenvolver e testar suas aplicações no telefone real. Esse mini-tutorial é uma transcrição do site do Android Developers.

Tendo um aparelho Android em mãos, podemos desenvolver e debugar nossas aplicações igualmente como fazemos no emulador. Porém, xistem apenas algumas coisas que devemos fazer antes de começar.
  1. Declare sua aplicação como "debugável" no Android Manifest.
    No Eclipse, você pode fazer isso adicionando a propriedade android:debuggable="true" à tag <application>.

  2. Ligue o "USB Debugging" do aparelho.
    Na home screen (tela principal) do aparelho, pressione a tecla MENU, selecione Settings (Configurações). Abrirá a lista das configurações do aparelho. Selecione Applications (Aplicativos) > Development (Desenvolvimento), então habilite a opção USB debugging (Depuração USB).

  3. Configurando o Sistema operacional pra detectar o telefone.
    • Se você está usa Windows, você necessida instalar os drivers. Para isso vá até a pasta do SDK do Android e execute o aplicativo SDK Setup. Nele, instale o driver USB que está disponível como um pacote opcional. Depois de instalado, quando o Windows detectar o aparelho, instale usando os drivers baixados que se encontram na pasta usb_driver do SDK.
    • Se você está usando Mac OS X, já funciona tudo ok. Pode pular essa etapa.
    • Se você está usando Ubuntu Linux, você necessita adicionar um arquivo de regras que contém a configuração USB para cada tipo de dispositivo que você quer usar para desenvolver. Cada fabricante usa um id diferente. O exemplo de arquivo de regras abaixo mostra como adicionar uma entrada para aparelhos HTC e Motorola. Se quiser adicionar mais fabricantes, basta adicionar mais linhas no mesmo formato com um valor diferente para a propriedade SYSFS{idVendor}.
      1. Log como root e crie esse arquivo: /etc/udev/rules.d/51-android.rules.
      2. Adicione o seguinte conteúdo:
        SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
        SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", MODE="0666"
      3. A primera linha é para linha é para telefones HTC e a segunda para telefones Motorola.
      4. Agora execute:
        chmod a+r /etc/udev/rules.d/51-android.rules

A tabela abaixo apresenta a lista de fabricantes disponível e seus respectivos ids.

ManufacturerUSB Vendor ID
Acer0502
HTC0bb4
Huawei12d1
LG1004
Motorola22b8
Samsung04e8
Sony Ericsson0fce

Podemos verificar os aparelhos conectados executando no terminal adb devices a partir do diretório tools do diretório do SDK. Se estiver conectado, você verá os nomes dos dispositivos na coluna "device."

Se estiver usando Eclipse, select run ou debug normalmente. Será exibida então a tela Device Chooser que lista os emuladores e telefones disponíveis. Selecione o dispositivo que você quer instalar e execute sua aplicação.

4br4ç05,
nglauber

2 comentários:

Bruno Bourbon disse...

Mestre Glauber,

Para seu leitores, que instalar a versão Ubuntu 12.04 deverá fazer uma pequena modificação no texto a ser adicionado ao arquivo 51-android.rules:
Em vez de:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"

Deverá utiliza a seguinte linha:
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"

Testei e está funcionado 100%.

Fonte:
http://stackoverflow.com/questions/10460057/android-device-not-appear-online-in-ubuntu-12-04.

Nelson Glauber de Vasconcelos Leal disse...

Oi Bourbon,

Show do bola! Valeu pela dica.

4br4ç05,
nglauber