Pular para o conteúdo

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.
Fábio Berbert de Paula fabio
Hits: 17.452 Categoria: Android Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar

Parte 2: 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.

   1. Android Debug Bridge
   2. Capturando a tela do Android

Minha caixa de ferramentas no GNU/Linux

Se preparando para obter certificação LPI

Corretor Ortográfico no Vim - Guia definitivo

MP3 no Linux

Armazenando a senha de sua carteira Bitcoin de forma segura no Linux

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

Desbloquear a tela do Android pelo PC (PIN)

Instalando o Android 5.0 Lollipop e suas novidades

Instalando a Custom ROM LineageOS (Android 7.1) no Moto G1 (XT1033)

Imprima onde estiver com Google Cloud Print

#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: Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva.
#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

Entre na sua conta para comentar.