Para quem utiliza alguma distribuição Linux (Debian, Fedora, Ubuntu, Slackware, Gentoo, OpenSuse, etc) e tem necessidade em acesso aos dispositivos Android, muitas vezes encontra dificuldades na instalação do SDK e em conectar um dispositivo para acesso via ADB e fastboot.
Segue esta dica preciosa, testada no Debian:
- Primeiro passo: baixando e configurando o SDK
Entre no site oficial de desenvolvimento do Android Aqui
Baixe o ADT Bundle for Linux. Assim que, terminado o download, descompacte e coloque o diretório em sua /home, de preferência, com o nome Android (é uma sugestão para ser encontrado facilmente).
Veja que dentro do diretório contem os diretórios sdk e eclipse para desenvolvimento, utilizaremos apenas o diretório sdk.
Após isso, copie os binários adb e fastboot para dentro do diretório /usr/bin do sistema, com os comandos, através do Terminal:
sudo cp /home/USER/Android/sdk/platform-tools/adb /usr/bin
sudo cp /home/USER/Android/sdk/platform-tools/fastboot /usr/bin
* - USER se refere ao nome do seu usuário e de sua /home
Por quê isto? Simplesmente para que os binários fiquem num diretório de execução do sistema, que já está no PATH da distribuição.
Após isso, dê permissão de execução dos binários:
sudo chmod a+rwx /usr/bin/adb
sudo chmod a+rwx /usr/bin/fastboot
Agora, execute apenas uma vez o adb para que seja criado o diretório de configuração em seu /home:
adb devices
Em seguida, instale alguns pacotes necessários para acesso ao sistema de arquivos, segue o comando (para o Debian, e serve também para alguns derivados, como Ubuntu, Mint, etc.):
sudo apt-get update
sudo apt-get install mtp-tools mtpfs libc6 libncurses5 libstdc++6
Depois desta instalação, inclua o usuário nos grupos seguintes com o comando:
sudo adduser USER plugdev
sudo adduser USER fuse
Esta configuração é básica, e depende de cada distribuição sendo usada e para qual arquitetura (32 ou 64bits). Caso sua distribuição seja diferente, os nomes dos pacotes podem ser diferentes. Esteja atento á este detalhes.
- Segundo passo: Acessando um dispositivo Android:
Para quem conhece, o Linux funciona de forma diferente do Windows, manualmente, a configuração é melhor em muitos aspectos. Agora, será feia a configuração de um dispositivo, neste caso, um tablet GT-7250s da Genesis, que acessaremos via ADB.
Conecte o dispositivo, lembrando que o acesso ao ADB deve estar habilitado no sistema. Este tablet utiliza o Android 2.3, portanto, vá em Configurações > Aplicativos > Desenvolvimento e ative "Depuração USB" e "permitir locais fictícios".
Feito isto, conecte o dispositivo na USB, e verifique os detalhes de hardware pelo terminal:
lsusb
Você verá algo parecido com isto:
Veja que este dispositivo é referenciado com o seguinte:
Bus 001 Device 017: ID d324:9018
Obviamente, cada dispositivo pode apresentar outras características, como tablets chineses raramente tem controle de qualidade ou mesmo identificação oficial, podem aparecer outros detalhes, como:
Bus 001 Device 010: ID 18d1:4e42 Google Inc.
Portanto, esteja atento á este detalhe.
De posse desta informação, incluiremos os dados em dois arquivos de configuração: o primeiro, é o ADB, que se encontra no seguinte diretório:
/home/USER/.android/adb_usb.ini
Lembre-se: este é um diretório oculto em seu /home, portanto, habilite a visualização de arquivos ocultos em seu navegador de arquivos de sua distribuição.
Abra o arquivo adb_usb.ini e coloque o seguinte dado dentro do mesmo:
0xd324
Ou o correspondente ao que apareceu no resultado do comando lsusb, somente a primeira parte. Salve e feche o arquivo.
Agora, será editado o arquivo de regras do udev do Linux, para que este seja reconhecido também. No terminal, digite:
sudo echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="d324", MODE="0666"' >> /etc/udev/rules.d/51-android.rules
Este comando inclui em um arquivo de regras do udev o dispositivo, mude a string "ATTR{idVendor}=="xxxx"", sendo "xxxx" o número de identificação do seu dispositivo.
Feito isto, reinicialize o udev pelo terminal:
sudo service udev restart
Reiniciado com sucesso, vamos ao próximo passo.
OBS: muitas vezes se faz necessário reiniciar o computador, faça isto antes de partir para o próximo passo, caso apresente algum erro.
- Terceiro passo: Acessando o dispositivo via adb:
Agora, reinicie qualquer instância do servidor adb com o comando:
adb kill-server
E em seguida:
adb devices
O resultado do comando deve ser este.
Veja que o dispositivo foi reconhecido com o seguinte: número de série e nome, na linha:
List of devices attached
1234567890ABCDEF device
Obviamente, como dito anteriormente, como não é um dispositivo "oficial", feito nas coxas o mesmo é identificado de forma genérica, mesmo assim, pronto para ser acessado via adb ou para receber comando de fastboot.
Os comando mais comuns do adb são estes:
devices [-l] - Lista todos os dispositivos conectados
Comando de manutenção
adb push <local> <remoto> - Copia arquivo/diretório para o dispositivo
adb pull <remoto> [<local>] - copy diretório/arquivo do dispositivo para o PC
adb shell - roda o shell remoto do dispositivo, ou seja, ao conectar, você tem acesso á linha de comando do Android.
adb shell <command> - roda um comando através do shell remoto
adb install <pacote> - Instala um pacote/app no dispositivo
adb uninstall [-k] <pacote> - remove o pacote/app do dispositivo
('-k' mantém configurações do app no dispositivo)
adb help - Mostra os comandos disponíveis
adb version - Mostra a versão do adb
Scripts:
adb wait-for-device - bloqueia dispositivo enquanto estiver ligado á USB
adb start-server - Verifica se o servidos ADB está rodando
adb kill-server - Para o servidor ADB
adb remount - Remonta o /system do Android em leitura/escrita (Necessário para manutenção)
adb reboot [bootloader|recovery] - reinicia o dispositivo em modo normal ou bootloader
adb reboot-bootloader - Reinicia o dispositivo no bootloader
adb root - Reinicia o adbd em modo root (Necessário para manutenção)
Outras opções podem ser verificadas digitando "adb help".
Com a instalação e funcionamento do adb, na maioria das vezes o fastboot já é funcional, portanto, quaisquer erros ou perguntas, estejam á vontade para perguntar neste tópico.
Boa sorte á todos:
Artigo realizado e testado no Debian 32bits, como dito, pode variar de distribuição á distribuição e plataforma.
Bibliografia:
http://www.circuidipity.com