Что такое инструмент Android ADB shell "dumpsys" и каковы его преимущества?



Я ищу полный список adb shell dumpsys команды с полным объяснением всех команд.



где я могу найти эту информацию?

816   4  

4 ответов:

что такое dumpsys и в чем его польза

dumpsys это android инструмент, который работает на устройстве и сбрасывает интересную информацию о состоянии системных служб.

очевидные преимущества:

  1. возможность легко получить системную информацию в простом строковом представлении.
  2. возможность использовать сброшенный процессор, оперативную память, аккумулятор, статистику хранения для a довольно графики, которые позволят вам проверьте, как работает ваше приложение влияет на общее устройство!

какую информацию мы можем получить из команды оболочки dumpsys и как мы можем ее использовать

если вы запустите dumpsys, вы увидите массу системной информации. Но вы можете использовать только отдельные части этой большой свалке.

чтобы увидеть все "подкоманды" dumpsys делать:

dumpsys | grep "DUMP OF SERVICE"

выход:

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:

некоторые примеры демпинга и вывода

1) получение всей возможной статистики батареи:

$~ adb shell dumpsys battery

вы получите выход:

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) Получение информации wifi

~$ adb shell dumpsys wifi

выход:

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) Получение информации о процессоре

~$ adb shell dumpsys cpuinfo

выход:

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)получения памяти информация об использовании

~$ adb shell dumpsys meminfo 'your apps package name'

выход:

** 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

если вы хотите увидеть информацию для всех процессов, использовать ~$ adb shell dumpsys meminfo

enter image description here

dumpsys в конечном счете гибкий и полезный инструмент!

если вы хотите использовать этот инструмент, не забудьте добавить разрешения в манифесте Android автоматически android.permission.DUMP

попробуйте проверить все команды, чтобы узнать больше о dumpsys. Счастливого демпинга!

глядя на исходный код dumpsys и сервис, вы можете получить список доступных услуг, выполнив это:

adb shell service list

затем вы можете указать имя службы, которое вас интересует в dumpsys, чтобы получить конкретную информацию. Например (обратите внимание, что не все службы предоставляют информацию дампа):

adb shell dumpsys activity
adb shell dumpsys cpuinfo
adb shell dumpsys battery

как вы можете видеть в коде (и в ответе K_Anas), если вы вызываете dumpsys без имени службы, он будет сбрасывать информацию все услуги в одной большой свалке:

adb shell dumpsys

некоторые службы могут получить дополнительные аргументы о том, что показать, что обычно объясняется, если вы предоставили

по данным официальная информация для Android о dumpsys:

на dumpsys инструмент работает на устройстве и предоставляет информацию о состояние системных служб.

для получения списка доступных услуг использовать

adb shell dumpsys -l

Я использую dumpsys чтобы поймать, если приложение разбилось и процесс все еще активен. ситуация я использовал его, чтобы найти о удаленной машине приложение разбился или нет.

dumpsys | grep myapp | grep "Application Error" 

или

adb shell dumpsys | grep myapp | grep Error

или все, что помогает...и т. д.

если приложение не запущено, вы ничего не получите в результате. Когда приложение остановлено messsage отображается на экране android, процесс по-прежнему активен, и если вы проверяете через " ps" команда или что-то еще, вы увидите состояние процесса не показывает никаких ошибок или сбоев. Но когда вы нажимаете кнопку, чтобы закрыть сообщение, процесс приложения будет очищен от списка процессов. поэтому поймать состояние сбоя без какого-либо кода в приложении трудно найти. но dumpsys поможет вам.

Comments

    Ничего не найдено.