Capturando tela do Android usando shell script

Neste artigo aprenderemos como conectar o Linux à dispositivos Android usando o Android Debug Bridge. Como bônus criaremos um script para capturar a tela do dispositivo e salvar o arquivo em sua máquina local.

[ Hits: 15.771 ]

Por: Fábio Berbert de Paula em 04/12/2018 | Blog: https://fabio.automatizando.dev


Capturando a tela do Android



O comando para capturar a tela do celular é:

adb shell screencap /sdcard/print.png

Neste exemplo o print da tela será salvo no armazenamento interno do Android, no diretório /sdcard com o nome print.png.

Para copiar o print para seu PC, execute:

adb pull /sdcard/print.png

Parabéns! Agora você tem um arquivo de imagem print.png no diretório corrente do seu Linux.

Próximo passo é deletar o print que ficou ocupando espaço no teu mobile:

adb shell rm /sdcard/print.png

Bônus - script para tirar e salvar o print da tela

Como não quero executar esse monte de comando toda vez que quiser printar a tela do meu celular, resolvi criar um script para facilitar a vida. Segue o código:

#!/bin/bash

#recebe o nome do arquivo destino no PC
FILENAME=$1

#define o nome do arquivo de print no dispositivo remoto
REMOTEFILE="/sdcard/print.png"

#captura a tela remota
adb shell screencap $REMOTEFILE

#baixa o print
adb pull $REMOTEFILE

#apaga o print remoto
adb shell rm $REMOTEFILE

#extrai apenas o nome do arquivo removo
FILE=`basename $REMOTEFILE`

#renomeia o arquivo para o nome de arquivo local desejado
mv $FILE $FILENAME

echo "$FILENAME saved"

Salve o script com qualquer nome, eu escolhi "getshot". Torne-o executável:

chmod +x getshot

Em seguida execute-o, informando onde quer salvar a imagem:

getshot /home/fabio/Pictures/print01.png

O adb é muito rico em recursos, para aprender mais sobre o assunto, acesse:
Até mais.

Página anterior    

Páginas do artigo
   1. Android Debug Bridge
   2. Capturando a tela do Android
Outros artigos deste autor

Organizando projetos com a classe FastTemplate (parte 1)

Tradutor de palavras em vários idiomas via shell

Viva o Linux adere à moda Orkut

Como criar um keylogger em Python

Diversão e Entretenimento no Linux

Leitura recomendada

Desbloquear a tela do Android pelo PC (PIN)

Instalando a recovery TWRP 2.8 e o Android Katkiss 6.0 no Tablet Asus Transformer TF101

Root no Samsung Galaxy S3 usando GNU/Linux

Fim da era PC: Transformando o seu celular em computador de mesa!

Utilize qualquer Tablet/Smartphone como monitor estendido sem fio no GNU/Linux

  
Comentários
[1] Comentário enviado por albfneto em 11/12/2018 - 11:51h

Fabio, excelente o artigo, vou favoritar para testar.

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].

[2] Comentário enviado por m4n14c em 25/12/2018 - 03:20h

Com o adb rodando conforme a configuração da primeira parte do artigo, dá pra controlar o celular completamente tanto pelo cabo usb quanto por tcp ip. Tem um app chamado vysor, vc instala a extensão no chrome e ele instala um app no celular que espelha a tela e permite controlar o aparelho remotamente.

[3] Comentário enviado por fabio em 25/12/2018 - 22:25h


[2] Comentário enviado por m4n14c em 25/12/2018 - 03:20h

Com o adb rodando conforme a configuração da primeira parte do artigo, dá pra controlar o celular completamente tanto pelo cabo usb quanto por tcp ip. Tem um app chamado vysor, vc instala a extensão no chrome e ele instala um app no celular que espelha a tela e permite controlar o aparelho remotamente.


Instalei aqui para testar, bacaninha o app. Obrigado pela indicação.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts