ADB: Um ator invisível
Eduardo Carrara Felipe Pedroso
Agenda
• O que é?
• Como funciona?
• Comandos básicos
• Shell
• Sem os fios!
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
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
Shell
Devs just wanna have fun
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
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
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
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
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
Outros comandos
● getprop/setprop
● service
● bootanimation
● start/stop
● screenrecord
● screencap
Wireless ADB
Olha mãe, sem os fios!
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
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
Muito obrigado!
Referências
• http://developer.android.com/tools/help/adb.html
• https://source.android.com/
Top Related