Ubuntu, ADB e Defy
Autor: David Tiago Conceição | Publicado: 2011-03-04T02:20:00-03:00

Conectar um aparelho que roda Android em um computador com Ubuntu é uma tarefa trivial. Basta conectar o cabo, liberar o acesso ao cartão de memória no aparelho e navegar livremente. Já fazer o dispositivo conectar com a ponte de debug do Android SDK não é tão simples assim.O Android SDK disponibiliza o chamado Android Debug Bridge (ADB). Através dessa ferramenta é possível executar aplicativos diretamente do computador no aparelho. Para isso, porém, o ADB precisa de um "registro" do dispositivo, e é nesse ponto em que ocorre o problema no Ubuntu. Para corrigir esse problema, tive que reunir alguns tutoriais e criar o meu próprio procedimento, que apresento em seguida. Esse procedimento funcionou para conectar meu Motorola Defy a meu computador com o Ubuntu 10.10. Não há garantias de que irá funcionar em quaisquer outras configurações. Também não me responsabilizo por quaisquer problemas ocorridos na execução dos passos citados.Primeiro, sugiro conectar o dispositivo em uma porta USB que esteja conectada diretamente a placa mãe. Evite hubs ou portas dianteiras do gabinete. Em testes com a conexão intermediada por um hub ocorreram diversos problemas.Ative o modo de desenvolvimento do seu dispositivo em Menu > Settings > Applications > Development > USB Debugging.Verifique se se o ADB reconheceu a existência de um dispositivo, através da linha de comando abaixo:./adb deviceSeu dispositivo deverá aparecer com uma linha com pontos de interrogação, semelhante as linhas abaixo:List of devices attached ???????????	no permissionsIsso indica que o ADB localizou um dispositivo, porém não conseguiu identificá-lo. Caso esse seja o seu caso, prossiga. Caso contrário, é necessário procurar outro problema.Acesse o site de desenvolvimento para a plataforma Android e localize o identificador do fabricante do seu dispositivo. Anote esse código.Crie um arquivo 51-android.rules no diretório /etc/udev/rules.d Eu costumo utilizar o gedit para edição de arquivos texto. Nesse caso, a linha de comando ficaria mais ou menos assim:sudo gedit /etc/udev/rules.d/51-android.rulesAdicione uma linha no arquivo 51-android.rules para cada dispositivo Android conectado, no seguinte format0:SUBSYSTEM=="usb",SYSFS{idVendor}=="ID",MODE="0666",OWNER="USUARIO"Nessa linha, substitua ID pelo id do fabricante obtido anteriormente. O trecho USUARIO deve ser substituído pelo nome do usuário que irá executar o ADB. Caso necessário, mais de uma linha pode ser adicionada para cada dispositivo, com usuários diferentes.Altere as permissões do arquivo criado, com a seguinte linha de comando:sudo chmod a+r /etc/udev/rules.d/51-android.ruleAtualize as regras de controle de dispositivos com a seguinte linha de comando:sudo udevadm control --reload-rulesPor fim, reinicie o serviço do ADB com as seguintes linhas de comando:./adb kill-server./adb start-serverEsses passos funcionaram perfeitamente para mim. Além disso, não tive problema algum de conexão do Defy no meu computador com Ubuntu. E você, teve problemas? Conectou outros dispositivos? Conhece métodos mais simples?Alguns sites que me ajudaram:http://developer.android.com/guide/developing/device.htmlhttp://hello-world-2-0.blogspot.com/2010/01/using-android-debug-bridge-adb-in-linux.htmlhttp://www.2linessoftware.com/2009/01/31/getting-android-sdk-to-work-with-fedora-10/http://androidforums.com/g1-support/3534-problems-mounting-communicating-g1-ubuntu.html