Instalando e Usando o ADB

by 1 colaborador:

Em muitos aspectos do desenvolvimento do Firefox OS será necessário a utilização do aplicativo ADB (Android Debug Bridge). Esse artigo explica como fazer a sua instalação e apresenta algun dos seus comandos mais úteis.

Instalando o ADB

Você pode baixar e instalar o adb como parte do pacote do Android SDK package, para Mac, Linux ou Windows - visite a página Get the Android SDK.

Distribuições mais recentes do Linux já possuem o adb em seus repositórios. Para Ubuntu 12.10 e posteriores execute o seguinte comando:

sudo apt-get install android-tools-adb

Ou para Fedora 18/19:

sudo yum install android-tools

Ou no OSX usando Homebrew:

brew install android-platform-tools

Se sua distribuição não possui pacotes disponíveis para adb (por exemplo, Ubuntu 12.04 ou Fedora 17), você precisará instalar o Android SDK starter package para sua plataforma (Selecione a opção ADT Bundle, e não SDK Tools Only). Então execute o gerenciador de pacote $SDK_HOME/tools/android, e use o GUI para instalar "Android SDK Platform-tools".

Verifique onde o adb foi instalado (normalmente em usr/bin, possivelmente dentro de adt/platform-tools, depdendo de como você o instalou). Certifique-se de adicionar esse diretório em seu PATH. Isso pode ser feito adicionando a linha

PATH=$SDK_HOME:$PATH

ao seu ~/.bashrc ou equivalente, onde $SDK_HOME é o caminho de onde foi instalado o Android SDK.

Resolvendo problemas

Se você está usando uma instalação 64-bit, e receber um erro "File not found" quando executar 'adb' mesmo ele estando presente, você precisa instalar as bibliotecas de compatibilidade para 32-bit. Para fazer isso execute:

sudo apt-get install ia32-libs

Comandos comuns do ADB

As próximas seções explicam alguns dos mais comuns e úteis comandos do adb.

Reiniciando o processo b2g

b2g é equivalente à aplicação XULRunner que é executada no telefone no topo do kernel Android-based. Em algumas vezes você precisa reiniciá-la. Essa é a melhor maneira de reiniciar o ambiente de aplicações sem a necessidade de reiniciar todo o dispositivo. Você pode fazer isso executando o seguinte comando quando seu dispositivo estiver conectado ao seu computador (ou enquanto estiver executando o depurador):

adb shell killall b2g

Habilitando o encaminhamento de porta para depuração

Para habilltar isso (por exemplo se você estiver executando o App Manager para depurar aplicativos em um dispositivo Firefox OS), entre o seguinte comando no seu terminal:

adb forward tcp:6000 localfilesystem:/data/local/debugger-socket

Você necessitará fazer isso toda vez que o telefone for reiniciado ou for desconectado e reconectado ao computador. Você pode trocar o número do socket se necessário.

Encaminhando portas para uma máquina local

Para isso, você precisará baixar os binários netcat and ssh, e executar os seguintes comandos:

# this is an awful hack but does in fact work...
host$ adb forward tcp:7979 tcp:6969

# make some named pipes so that we can make a bidirectional netcat
phone$ mknod readback p
host$ mknod readback p

# this sets up a one time use connection to back to the host
# listen on ports 6969 and 5959 and forward all the information between them
phone$ ./netcat -l -p 6969 < readback | ./netcat -l -p 5959 > readback
# connect to port 7979 (port 6969 on the device) and the local ssh server and forward all information between them 
host$ ./netcat localhost 7979 < readback | ./netcat localhost 22 > readback

# now when we connect to port 5959 on the phone it will be like connecting to ssh server on the host 

# use the netcat reversal to set up an ssh connection back to the host and forward port 9999 on the device to 'localhost:8000' (this could be anything like 'google.com:80')
phone$ ./ssh localhost -p 5959 -L 9999:localhost:8000

No exemplo acima é direcionada a porta 9999 do dispositivo para a porta 8000 do hospedeiro.

Alternativamente você pode usar um servidor ssh (dropbear e host_key) diretamente no dispositivo, usando os seguintes comandos:

phone$ DROPBEAR_PASSWORD=root ./dropbear -p 9000 -F -v -a -r host_key ./dropbear
host$ adb forward tcp:8888 tcp:9000
# public key authentication has been hard coded to succeed (make sure you have a public key for ssh to use)
host$ ssh -vvv root@localhost -p 8888 -R 9999:people.mozilla.org:80

Outros recursos:

Etiquetas do documento e colaboradores

Contributors to this page: rbrandao
Última atualização por: rbrandao,
Esconder painel