Envie arquivos para o celular via adb shell

Uma das importantes funções da adb shell é enviar código ou programas compilados, do seu PC para o dispositivo Android.
Com a adb, é possível se conectar ao celular via Wi-Fi, Bluetooth ou, simplesmente, com um cabo USB.

Uma vez estabelecida a conexão, a transferência pode ser feita, na linha de comando como se você estivesse copiando um arquivo qualquer de um diretório para outro.
Para contextualizar, estou usando um laptop com Debian GNU/Linux 9 Stretch conectado ao smartphone Motorola/Lenovo Moto G4 Plus, com Android 7.0 Nougat — conectados via USB.
O procedimento é (ou deve ser) o mesmo em outros sistemas operacionais.
Se tiver dúvidas sobre a instalação da adb shell, leia este post.
Sugiro, ainda, ler outros artigos com dicas de uso da adb shell, se quiser obter mais exemplos de uso da ferramenta.
Se você tiver apenas um dispositivo Android conectado ao PC, pode usar o comando assim:


adb push arquivo-de-origem /sdcard/arquivo-de-destino

Acima, usei a pasta /sdcard, como exemplo. Ela corresponde ao diretório raiz do cartão de memória. Mas você pode usar qualquer outra dentro do dispositivo Android.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Como instalar a adb shell no Linux para se conectar a dispositivos Android

O Android Debug Bridge é uma ferramenta de linha comando que permite a comunicação com o seu dispositivo Android, através de uma instância de emulador.
O utilitário responde pelo apelido abreviado adb e trata-se de um programa cliente-servidor.
Em uma tradução livre, Android Debug Bridge responde por “ponte de depuração Android”.
O adb é um aplicativo voltado para desenvolvedores e tem os seguintes componentes:

  • Um cliente que envia comandos e roda na máquina de desenvolvimento.
    Possibilita executar um programa cliente, a partir da shell do Linux rodando um comando adb.
    Outras ferramentas Android, como o DDMS, também criam clientes adb.
  • Um daemon, que tem a função de rodar comandos dentro do dispositivo Android — usalmente, em background, como processo, em cada emulador ou instância do dispositivo.
  • Um servidor, que gerencia a comunicação entre o cliente e o daemon.
    O servidor roda como um processo em segundo plano na sua máquina de desenvolvimento.

O adb permite conectar ao seu dispositivo Android do seu computador.

Havendo apenas um emulador rodando ou um dispositivo conectado, o comando adb vai se referir apenas a este dispositivo, como padrão.
Já, havendo múltiplos emuladores em execução ou conectados, será necessário usar algumas opções na shell para especificar o alvo dos seus comandos.

Como instalar o adb shell no Linux

como encontrar adb nos repositórios.
Para escrever este post, uso o Debian 9 Stretch. Os comandos dados para a instalação são muito semelhantes à outras distribuições. Portanto, fica fácil adaptar a partir dos meus exemplos.
É importante saber que, do lado do celular, é necessário ativar o modo de depuração USB — para criar uma ponte entre os dispositivos.
Use o apt search, no Debian, no Ubuntu e nas distribuições derivadas, para encontrar o pacote de instalação ou tente apenas instalar direto:


sudo apt install adb

O pacote recomenda a instalação do “android-sdk-platform-tools-common” que contém as regras udev para dispositivos Android. Sem este pacote, você precisará rodar o adb e o fastboot com privilégios administrativos.
Fica a seu critério instalar ou não os pacotes recomendados, claro.
Uma vez instalado, basta conectar o dispositivo Android, via USB, ao seu computador e rodar o adb.
Para sair da shell, use o comando exit.
Clique na tag adb shell para ler outros posts relacionados ao assunto.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Referências

https://developer.android.com/studio/command-line/adb.html.

Ative o menu de opções de desenvolvedor no seu Android

Os dispositivos Android têm um menu “escondido” com opções voltadas para programadores.
Elas abrem possibilidades novas de uso do aparelho — e também podem abrir brechas de segurança, que podem comprometer seriamente o uso do aparelho e de seus dados.
Os procedimentos, descritos neste post, não são voltados para usuários inexperientes.

Como sempre, se não sabe o que está fazendo, então não faça.
Se é usuário iniciante do Android, o menu do desenvolvedor não tem nada que possa te interessar.
brincar com outra coisa.

Para ativar o recurso, abra o painel de configurações (ou config) do seu dispositivo Android e siga o passo a passo:

  1. Role a tela e encontre o item Sobre o telefone ou Sobre o dispositivo
  2. Role até o fim do menu até chegar ao item Versão do kernel ou Número de compilação
  3. Toque 7 vezes sobre este item, até aparecer a mensagem de aviso “O modo de desenvolvedor foi ativado”

Fique atento às diferenças nas nomenclaturas que pode haver entre aparelhos de marcas e modelos diferentes.
modo desenvolvedor android
Aparelhos da Motorola/Lenovo usam o termo “versão do kernel” para o mesmo item que se chama “número de compilação” em aparelhos Samsung.
Trata-se da mesma coisa.
modo desenvolvedor android
Após a ativação, volte ao menu anterior e veja que o item “Opções do desenvolvedor” foi ativado.
Quer saber quais são as possibilidades do aparelho, a partir de agora?
Então clique na tag Android desenvolvedor ou use recurso de pesquisa do site.
Conheça estas opções do painel do desenvolvedor que alteram o desempenho ou o visual do seu sistema.

Instale o Android Studio para Linux

Se você tem interesse em desenvolver apps para Android e prefere usar uma plataforma sólida e livre, pode usar Linux.
Neste post, vou mostrar como instalar o Android Studio no Fedora 25, no Ubuntu 16.04 e no Debian 9.0. Se a dua distro é diferente destas, tente adaptar os procedimentos para conseguir fazer a instalação.
Este texto cobre a instalação da ferramenta GUI voltada para desenvolvimento de apps para a plataforma móvel Android.


Recomendo, ainda, complementar o seu ambiente de desenvolvimento com algumas ferramentas CLI, descritas neste artigo.
android studio browse samples

Prepare o ambiente para instalar o Android Studio no Linux

Se você usa Debian ou Ubuntu, instale os seguintes pacotes:

sudo apt update
sudo apt install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386

Quem usa o Fedora 25, instala os seguintes:

sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686

Baixe e instale o Android Studio

android studio ide code sample
Agora você já tem o ambiente pronto para receber a ferramenta.
Vá até o site de downloads: https://developer.android.com/studio/index.html e baixe o pacote zip.
O comando que segue, assume que o pacote foi baixado para a pasta de Downloads e que você já tenha uma pasta /opt no seu sistema (dentro da qual será instalado o Android Studio):

mv Downloads/android-studio-ide-162.3764568-linux.zip /opt/

É claro que você pode optar por instalar o Studio em outra pasta. Isto fica a seu critério.
Agora vá até a pasta que contém o pacote e extraia o seu contéudo:

cd /opt
unzip android-studio-ide-162.3764568-linux.zip

Pronto!
Para ter mais conforto crie atalhos para o aplicativo.
Escolha um destes 2 métodos:

  1. inclua a seguinte linha no seu arquivo ~/.bashrc:
    export PATH="/opt/android-studio/bin:$PATH"
    
  2. ou crie um link simbólico para o programa:
    sudo ln -s "/opt/android-studio/bin/studio.sh" /usr/local/bin/android-studio
    

Depois disto, para rodar o android-studio basta usar um destes 2 comandos:

/opt/android-studio/bin/studio.sh

ou

android-studio

android studio ide development

Instale o emulador Android Genymotion no Debian

A plataforma de emulação Android, Genymotion pretende ser a mais completa, para facilitar a vida dos desenvolvedores e entusiastas do sistema operacional.
Com suporte a mais de 40 dispositivos Android e a todas as suas versões mais atuais, o Genymotion permite, ainda as seguintes (entre muitas outras) possibilidades:
genymotion on imac

  • Use a webcam do seu laptop, como se fosse a câmera do próprio dispositivo Android.
  • O Genymotion é compatível com as ferramentas do Android SDK, entre outras.
  • Permite simular diferentes níveis de carga da bateria de um dispositivo Android, para você testar o comportamento dos seus apps em situações extremas.
  • Permite simular o uso do GPS do dispositivo, para testar apps que fazem uso de informações de geolocalização.

Neste texto, ensino a instalar a versão completa e gratuita.
Se você pretende trabalhar seriamente com desenvolvimento de aplicativos para Android, adquirir um dos planos pagos do produto é a melhor coisa a se fazer.
genymotion android emulator logo
Não esqueça de seguir os links dentro do texto, caso queira entender melhor algum assunto ou procedimento. Boa leitura! 😉

Requisitos de sistema para instalar o emulador Android Genymotion

  • Você precisa ter o VirtualBox instalado no sistema.
  • Ubuntu 16.04 (Xenial Xerus), Debian 8 (Jessie), Fedora 24 ou mais atuais.
    Os exemplos deste artigo são baseados no Debian 9 Stretch.
  • Arquitetura de CPU 64 bit, with VT-x or AMD-V habilitados na BIOS
  • Uma GPU recente e dedicada
  • 400 MB de espaço em disco
  • 2GB RAM

Além da instalação do VirtualBox você também precisa ter o dkms disponível no seu sistema. Se ele não estiver aí, comece a rodar o apt:

sudo apt install dkms

Onde baixar o Genymotion

Faça o download e o seu cadastro na página https://www.genymotion.com/download/.
Ao finalizar o download, faça o checksum do arquivo para verificar se ele baixou de maneira íntegra:

sha1sum genymotion-2.8.1_x64.bin ;echo -e "b4b372c429542450240a318f2587828a1ee135c6"

Instalação do Genymotion

Como disse, lá na sessão de requisitos, os meus exemplos são baseados no Debian 9. Se você usa outra distro, tenha o cuidado de adequar os comandos, para que tudo corra bem.
Para poder executar o arquivo baixado, é necessário dar a ele as permissões de executável:

chmod +x ./genymotion-2.8.1_x64.bin

Em seguida, rode o arquivo .bin que você baixou:

./genymotion-2.8.1_x64.bin

Opcionalmente, você pode executar o comando acima com privilégios administrativos — para que todos os usuários do sistema possam usar o programa.
Isto já deve ser o suficiente para conseguir rodar o emulador.
genymotion

Problemas ao tentar executar o Genymotion

Você precisa ter um cadastro no site para poder usar a totalidade do aplicativo e ter acesso a alguns dispositivos virtuais — além de poder fazer o download do próprio arquivo de instalação.
Eu tive, ainda, alguns problemas relativos a execução de algumas bibliotecas.
Ao tentar rodar o Genymotion, eu obtinha os seguintes erro, na linha de comando:

/opt/genymobile/genymotion/genymotion: symbol lookup error: /usr/lib/x86_64-linux-gnu/libX11.so.6: undefined symbol: xcb_wait_for_reply64

ou

/opt/genymobile/genymotion/genymotion: symbol lookup error: /usr/lib/x86_64-linux-gnu/libGL.so.1: undefined symbol: drmGetDevice

Se quiser saber mais sobre estes erros, dê uma olhada nos sites em Referências, ali embaixo.
Uma forma de contornar estes problemas e conseguir pôr o programa para funcionar é renomear os arquivos
/opt/genymobile/genymotion/libxcb.so.1 e /opt/genymobile/genymotion/libdrm.so.2
Isto pode ser feito com o comando mv:

 sudo mv /opt/genymobile/genymotion/libxcb.so.1 /opt/genymobile/genymotion/libxcb.so.1___backup

 sudo mv /opt/genymobile/genymotion/libdrm.so.2 /opt/genymobile/genymotion/libdrm.so.2___backup

Isto não resolve o problema, mas permite usar o Genymotion, pelo menos até você descobrir uma solução mais adequada ou ele ser atualizado.
Para reverter o procedimento, execute-o “ao contrário”:

 sudo mv /opt/genymobile/genymotion/libxcb.so.1___backup /opt/genymobile/genymotion/libxcb.so.1

 sudo mv /opt/genymobile/genymotion/libdrm.so.2___backup /opt/genymobile/genymotion/libdrm.so.2

Você optou por outra solução?! Deixe a gente saber como você resolveu o problema, nos comentários.

Como testar apps Android no emulador Genymotion

Há basicamente 3 formas de testar seus apps ou arquivos executáveis apk, no Genymotion:

  1. Arraste o arquivo apk pronto, para dentro da janela que se encontra emulando um dispositivo Android. É fácil assim.
  2. Rode o comando, no terminal:
    adb install nome_do_app.apk.
  3. Use um link da web para baixar e instalar diretamente o apk no seu dispositivo virtual.

Referências

https://www.genymotion.com/fun-zone/.

http://stackoverflow.com/questions/40998027/genymotion-genymotion-symbol-lookup-error-usr-lib64-libgl-so-1-undefined.

http://stackoverflow.com/questions/39316164/genymotion-usr-lib64-libx11-so-6-undefined-symbol-xcb-wait-for-reply64.

http://unix.stackexchange.com/questions/316787/problem-with-libx11-so-6-undefined-symbol-xcb-wait-for-reply64/317404.