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 a depuração USB no Android para acessar funções avançadas.

Ferramentas de desenvolvimento ou hacking tools frequentemente irão requerer a ativação do USB debugging em seu dispositivo Android.
Este é um dos primeiros passos a ser dado, antes de realizar o processo de rooting em seu celular, por exemplo.
Como padrão de fábrica, este item vem sempre desativado nos aparelhos Android.
Sem ele, as ferramentas não conseguem estabelecer uma conexão entre o dispositivo e o seu PC.

Dependendo do fabricante, o recurso pode ter nomes “USB debug”, “depurador USB”, “modo de desenvolvedor”, “developer mode” etc.

Saiba mais sobre o modo de depuração USB do Android

Sua principal função é estabelecer uma ponte de conexão entre o dispositivo Android e um computador com o kit de desenvolvimento Android instalado.
No modo USB debug, é possível trocar arquivos diretamente com o celular e realizar alterações mais profundas no funcionamento do aparelho — via USB, bluetooth ou Wi-FI.
Há outras funções importantes, que podem ser exercidas através do USB debug, como acessar o dispositivo através da adb shell, o que permite rootear o aparelho, rodar comandos avançados dentro dele, recuperar aparelhos brickados etc.
Como você pode perceber, a ferramenta não é voltada para iniciantes.
aviso depuração usb android
Existem algumas razões (de segurança, inclusive) para se evitar deixar o modo de depuração ligado constantemente:

  1. Se você perder o aparelho ou ele for roubado, o USB debug irá permitir que ele seja acessado por pessoas não autorizadas, mesmo que a tela esteja bloqueada. Trata-se de um backdoor (porta dos fundos).
    Por uma questão de segurança, não ative esta função ou desative-a logo depois de se desconectar do aparelho.
  2. Há relatos, nos fóruns sobre Android, de usuários que tiveram problemas para ler mídia externa no dispositivo, enquanto o modo de depuração estava ligado.
    Se isto acontecer com você, já sabe de onde veio.

Como ativar o modo de depuração USB ou USB debug mode

A primeira coisa a ser feita é ativar o menu do desenvolvedor no seu dispositivo Android.
Depois disto, siga o passo a passo:

  1. Dentro do menu principal de configurações, abra o painel de opções do desenvolvedor (ou programador).
  2. Em seguida, ative a “depuração USB” ou “USB debug mode“.
  3. Leia o aviso e clique OK.

android usb debug
Uma vez ativo, já é possível testar o modo de depuração com o adb shell.

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 forçar a exibição da opção de formatação do cartão SD como memória interna.

O recurso de formatação do cartão de memória SD para estender a memória interna (ROM), também conhecido como adoptable storage é amplamente conhecido nos aparelhos da Lenovo/Motorola — especialmente da linha mais popular G com Android 6.0 Marshmallow ou superior.
Outros fabricantes optaram por suprimir ou (apenas) esconder o recurso do usuário.
Sugiro fortemente a leitura do texto Perguntas e respostas sobre o adoptable storage, antes de continuar — para tirar dúvidas que você tenha, antes de prosseguir.
Outras dúvidas podem ser satisfeitas através dos links, no decorrer do texto – e na seção de referências, lá embaixo.

Leia, antes de continuar

Este artigo surge após muitos (muitos, mesmo) leitores me perguntarem sobre como ativar o recurso em celulares, como os modelos Samsung Galaxy e os LG série G.
A insistência me fez voltar a me debruçar sobre o assunto, mesmo achando que já escrevi muito sobre ele.
Nos aparelhos em que o recurso não está visível, ele pode estar apenas desativado e, portanto, ainda pode ser acessível aos seus donos, através de alguns procedimentos.

É importante dizer que não testei os procedimentos aqui descritos.
Este post é fruto de alguma pesquisa e não de experiências.
Siga em frente por sua própria conta e risco.

Se o seu aparelho for rooted ou rooteado o céu é o limite — ou seja, você pode fazer tudo com ele – inclusive inutilizá-lo.
Portanto, leia primeiro todo o tutorial e decida depois se vale a pena fazer ou não.
Se você usa Windows 10, não esquece dar uma olhada na dica do Felipe, lá nos comentários.

Prerrequisitos

O procedimento que segue, não requer rooting do seu celular.
Contudo, você precisa se certificar de que os seguintes requisitos já foram satisfeitos no seu aparelho:

Se estes itens já estiverem OK, faça backup dos seus dados e prossiga.

Como ativar a exibição da opção de uso de adoptable storage através da adb shell

Conecte o smartphone ao computador, através do cabo USB e abra um terminal no seu sistema e ative o modo transferência de imagens (pictures).
Dentro do terminal, execute a shell do adb.

Como você pode ver, na imagem abaixo, eu rodo a minha shell dentro de um terminal Linux. Não sei como funciona no Windows ou no MacOS. Se for muito diferente, me avise, nos comentários.

captura de tela adb shell
Siga os passos:

  1. Dentro da shell, dê o comando sm list-disks. Ele deve retornar algo parecido com disk:179,0, que é a ID do seu cartão SD.
  2. Decida quanto espaço você deseja dedicar ao adoptable mode ou extensão do armazenamento interno.
  3. Se optar por usar 100% do cartão como armazenamento interno, dê o seguinte comando:
    
    sm partition disk:179,0 private
    

    Fique atento para usar a ID do seu cartão e não a minha.
    Se preferir que seu cartão tenha uma configuração mista, use o comando desta forma:

    
    sm partition disk:179,0 mixed 50
    

    em que o mixed 50 informa que apenas metade (50%) do cartão será destinado ao adoptable mode. O restante permanecerá no modo tradicional.

Em seguida, saia da shell com o comando exit e verifique se o cartão do aparelho já aceita o novo modo de operação.
Veja as imagens do “antes” e “depois”, abaixo:
armazenamento interno android
Espero que este procedimento resolva na maioria dos celulares.
Se não der certo, sugiro continuar pesquisando em outros sites.
Caso você tenha conseguido resolver o problema de alguma forma diferente, conte pra gente. 😉

Referências

https://www.reddit.com/r/lgg5/comments/4mfo9l/adoptable_storage_on_lg_g5_nonroot/.