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.
1. ADB: Um ator invisível
Eduardo Carrara Felipe Pedroso
2. Agenda
• O que é?
• Como funciona?
• Comandos básicos
• Shell
• Sem os fios!
3. 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
4. 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
6. 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
7. 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
8. 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.contacts
sqlite3 databases/contacts2.db
9. 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
10. 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
13. 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