Estou procurando a lista completa de dumpsys
comandos shell ADB com uma explicação completa de todos os comandos.
Onde posso encontrar esta informação?
Estou procurando a lista completa de dumpsys
comandos shell ADB com uma explicação completa de todos os comandos.
Onde posso encontrar esta informação?
Respostas:
O que é dumpsys e quais são seus benefícios
dumpsys é uma ferramenta para Android que roda no dispositivo e despeja informações interessantes sobre o status dos serviços do sistema.
Benefícios óbvios:
Quais informações podemos recuperar do comando dumpsys shell e como podemos usá-las
Se você executar o dumpsys, verá uma tonelada de informações do sistema. Mas você pode usar apenas partes separadas desse grande despejo.
para ver todos os "subcomandos" do dumpsys:
dumpsys | grep "DUMP OF SERVICE"
Resultado:
DUMP OF SERVICE SurfaceFlinger:
DUMP OF SERVICE accessibility:
DUMP OF SERVICE account:
DUMP OF SERVICE activity:
DUMP OF SERVICE alarm:
DUMP OF SERVICE appwidget:
DUMP OF SERVICE audio:
DUMP OF SERVICE backup:
DUMP OF SERVICE battery:
DUMP OF SERVICE batteryinfo:
DUMP OF SERVICE clipboard:
DUMP OF SERVICE connectivity:
DUMP OF SERVICE content:
DUMP OF SERVICE cpuinfo:
DUMP OF SERVICE device_policy:
DUMP OF SERVICE devicestoragemonitor:
DUMP OF SERVICE diskstats:
DUMP OF SERVICE dropbox:
DUMP OF SERVICE entropy:
DUMP OF SERVICE hardware:
DUMP OF SERVICE input_method:
DUMP OF SERVICE iphonesubinfo:
DUMP OF SERVICE isms:
DUMP OF SERVICE location:
DUMP OF SERVICE media.audio_flinger:
DUMP OF SERVICE media.audio_policy:
DUMP OF SERVICE media.player:
DUMP OF SERVICE meminfo:
DUMP OF SERVICE mount:
DUMP OF SERVICE netstat:
DUMP OF SERVICE network_management:
DUMP OF SERVICE notification:
DUMP OF SERVICE package:
DUMP OF SERVICE permission:
DUMP OF SERVICE phone:
DUMP OF SERVICE power:
DUMP OF SERVICE reboot:
DUMP OF SERVICE screenshot:
DUMP OF SERVICE search:
DUMP OF SERVICE sensor:
DUMP OF SERVICE simphonebook:
DUMP OF SERVICE statusbar:
DUMP OF SERVICE telephony.registry:
DUMP OF SERVICE throttle:
DUMP OF SERVICE usagestats:
DUMP OF SERVICE vibrator:
DUMP OF SERVICE wallpaper:
DUMP OF SERVICE wifi:
DUMP OF SERVICE window:
Alguns exemplos e resultados de dumping
1) Obtendo todas as estatísticas possíveis da bateria:
$~ adb shell dumpsys battery
Você obterá saída:
Current Battery Service state:
AC powered: false
AC capacity: 500000
USB powered: true
status: 5
health: 2
present: true
level: 100
scale: 100
voltage:4201
temperature: 271 <---------- Battery temperature! %)
technology: Li-poly <---------- Battery technology! %)
2) Obtendo informações de wifi
~$ adb shell dumpsys wifi
Resultado:
Wi-Fi is enabled
Stay-awake conditions: 3
Internal state:
interface tiwlan0 runState=Running
SSID: XXXXXXX BSSID: xx:xx:xx:xx:xx:xx, MAC: xx:xx:xx:xx:xx:xx, Supplicant state: COMPLETED, RSSI: -60, Link speed: 54, Net ID: 2, security: 0, idStr: null
ipaddr 192.168.1.xxx gateway 192.168.x.x netmask 255.255.255.0 dns1 192.168.x.x dns2 8.8.8.8 DHCP server 192.168.x.x lease 604800 seconds
haveIpAddress=true, obtainingIpAddress=false, scanModeActive=false
lastSignalLevel=2, explicitlyDisabled=false
Latest scan results:
Locks acquired: 28 full, 0 scan
Locks released: 28 full, 0 scan
Locks held:
3) Obtendo informações da CPU
~$ adb shell dumpsys cpuinfo
Resultado:
Load: 0.08 / 0.4 / 0.64
CPU usage from 42816ms to 34683ms ago:
system_server: 1% = 1% user + 0% kernel / faults: 16 minor
kdebuglog.sh: 0% = 0% user + 0% kernel / faults: 160 minor
tiwlan_wq: 0% = 0% user + 0% kernel
usb_mass_storag: 0% = 0% user + 0% kernel
pvr_workqueue: 0% = 0% user + 0% kernel
+sleep: 0% = 0% user + 0% kernel
+sleep: 0% = 0% user + 0% kernel
TOTAL: 6% = 1% user + 3% kernel + 0% irq
4) Obtendo informações sobre o uso da memória
~$ adb shell dumpsys meminfo 'your apps package name'
Resultado:
** MEMINFO in pid 5527 [com.sec.android.widgetapp.weatherclock] **
native dalvik other total
size: 2868 5767 N/A 8635
allocated: 2861 2891 N/A 5752
free: 6 2876 N/A 2882
(Pss): 532 80 2479 3091
(shared dirty): 932 2004 6060 8996
(priv dirty): 512 36 1872 2420
Objects
Views: 0 ViewRoots: 0
AppContexts: 0 Activities: 0
Assets: 3 AssetManagers: 3
Local Binders: 2 Proxy Binders: 8
Death Recipients: 0
OpenSSL Sockets: 0
SQL
heap: 0 MEMORY_USED: 0
PAGECACHE_OVERFLOW: 0 MALLOC_SIZE: 0
Se você quiser ver as informações de todos os processos, use ~$ adb shell dumpsys meminfo
O dumpsys é uma ferramenta flexível e útil!
Se você deseja usar esta ferramenta, não se esqueça de adicionar permissão ao seu manifesto do Android automaticamente android.permission.DUMP
Tente testar todos os comandos para aprender mais sobre dumpsys. Feliz dumping!
Observando o código-fonte para dumpsys e serviço , você pode obter a lista de serviços disponíveis executando o seguinte:
adb shell service -l
Você pode fornecer o nome do serviço em que você está interessado no dumpsys para obter as informações específicas. Por exemplo (observe que nem todos os serviços fornecem informações de despejo):
adb shell dumpsys activity
adb shell dumpsys cpuinfo
adb shell dumpsys battery
Como você pode ver no código (e na resposta do K_Anas), se você chamar dumpsys sem nenhum nome de serviço, ele despejará as informações de todos os serviços em um grande despejo:
adb shell dumpsys
Alguns serviços podem receber argumentos adicionais sobre o que mostrar o que normalmente é explicado se você forneceu um -h
argumento, por exemplo:
adb shell dumpsys activity -h
adb shell dumpsys window -h
adb shell dumpsys meminfo -h
adb shell dumpsys package -h
adb shell dumpsys batteryinfo -h
De acordo com informações oficiais do Android sobre dumpsys :
A ferramenta dumpsys é executada no dispositivo e fornece informações sobre o status dos serviços do sistema.
Para obter uma lista dos serviços disponíveis, use
adb shell dumpsys -l
-l
funciona no meu pirulito, mas não no meu Jelly Bean.
Eu uso o dumpsys para capturar se o aplicativo falhar e o processo ainda estiver ativo. situação que usei é encontrar sobre o aplicativo de máquina remota está travado ou não.
dumpsys | grep myapp | grep "Application Error"
ou
adb shell dumpsys | grep myapp | grep Error
ou qualquer coisa que ajude ... etc
se o aplicativo não estiver sendo executado, você não obterá nada como resultado. Quando o aplicativo é interrompido, a mensagem é mostrada na tela pelo Android, o processo ainda está ativo e, se você marcar via comando " ps " ou qualquer outra coisa, verá que o estado do processo não está mostrando nenhum erro ou significado de falha. Mas quando você clica no botão para fechar a mensagem, o processo do aplicativo é limpo da lista de processos. é difícil encontrar o estado de falha sem nenhum código no aplicativo. mas dumpsys ajuda você.