Что такое инструмент «dumpsys» для Android ADB и каковы его преимущества?

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

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

Solutions Collecting From Web of "Что такое инструмент «dumpsys» для Android ADB и каковы его преимущества?"

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

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

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

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

Какую информацию мы можем получить из команды оболочки 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) Получение информации о Wi-Fi

 ~$ 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.xx netmask 255.255.255.0 dns1 192.168.xx dns2 8.8.8.8 DHCP server 192.168.xx 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) Получение информации о CPU

 ~$ 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

Введите описание изображения здесь

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

Если вы хотите использовать этот инструмент, не забудьте автоматически добавить разрешение на ваш андроид. 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 

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

 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 

Согласно официальной информации 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 помогает вам.