16
ADB: Um ator invisível Eduardo Carrara Felipe Pedroso

ADB: Um ator invisível

Embed Size (px)

DESCRIPTION

Slides da palestra apresentada no dia 01/04 durante o encontro do GDG abordando como usar alguns recursos mais avançados do Adb (Android Debug Bridge) Palestra elaborada por Eduardo Carrara e Felipe Pedroso.

Citation preview

Page 1: ADB: Um ator invisível

ADB: Um ator invisível

Eduardo Carrara Felipe Pedroso

Page 2: ADB: Um ator invisível

Agenda

• O que é?

• Como funciona?

• Comandos básicos

• Shell

• Sem os fios!

Page 3: ADB: Um ator invisível

O que é?

• ADB = Android Debug Bridge

• Ferramenta de linha de comando que permite

a comunicação com dispositivos ou instâncias

do emulador Android

• É um aplicativo client-server que roda no

dispositivo e na máquina

Page 4: ADB: Um ator invisível

Comandos Básicos

• Sintaxe: “adb <comando>”

– Para escolher o device/emulador:“adb –s <serialNumber> <comando>”

• Comandos básicos:

– start-server / kill-server → inicia/finaliza o server do adb

– devices → lista os dispositivos conectados

– logcat → exibe o logcat (sistema de logs)

– install / uninstall→ Instala ou desinstala um APK

– push / pull → copiar arquivos entre device e PC

– reboot → reinicia o dispositivo

Page 5: ADB: Um ator invisível

Shell

Devs just wanna have fun

Page 6: ADB: Um ator invisível

am / pm

am → Activity Manager● Permite enviar comandos para executar ações de sistema.

● Iniciar Activities, Serviços, Broadcasts etc.

adb shell am start -a android.intent.action.VIEW

pm → Package Manager● Possibilita ações e requisições relacionadas aos pacotes das

aplicações.

● Listar pacotes, permissões, usuários, etc.

adb shell pm list packages

Page 7: ADB: Um ator invisível

dumpsys

● ‘Dump’ das informações sobre os serviços do

sistema (meminfo, battery, cpuinfo, wifi, etc)

adb shell dumpsys <service_name>

● Para listar quais serviços estão disponíveis:

adb shell service list

Page 8: ADB: Um ator invisível

sqlite3

● Permite explorar os arquivos .db do sistema/apps através de comandos SQL

● Para explorar o database de contatos:cd data/data/com.android.providers.contactssqlite3 databases/contacts2.db

Page 9: ADB: Um ator invisível

input

● Permite simular eventos de input no dispositivo (touch, teclas, dpad, etc)

input [<source>] <command> [<args>]

● Para fazer um swipe na tela:

adb shell input swipe 400 200 50 200

Page 10: ADB: Um ator invisível

getevent / sendevent

● getevent: provê informações sobre

dispositivos de input e monitorar os eventos

direto no kernel

adb shell "getevent -lt /dev/input/event2"

● sendevent: permite simular os eventos, mas

no mesmo “protocolo” do getevent

Page 11: ADB: Um ator invisível

Outros comandos

● getprop/setprop

● service

● bootanimation

● start/stop

● screenrecord

● screencap

Page 12: ADB: Um ator invisível

Wireless ADB

Olha mãe, sem os fios!

Page 13: ADB: Um ator invisível

Wireless ADB

● Conecte seu device ao cabo USB

● Habilite o modo de debug

adb tcpip <porta>

● Desconecte o cabo

adb connect <ip>:<porta>

● Para voltar à conexão original:

adb usb

Page 14: ADB: Um ator invisível

Dúvidas?

• Eduardo Carrara

– @DuCarrara

– facebook.com/ducarrara

– br.linkedin.com/in/eduardocarrara

• Felipe Pedroso

– @felipeapedroso

– facebook.com/felipe.a.pedroso

– br.linkedin.com/in/felipeapedroso

Page 15: ADB: Um ator invisível

Muito obrigado!