Je cherche la liste complète des commandes ADB Shell dumpsys
avec une explication complète de toutes les commandes.
Où puis-je trouver cette information?
Qu'est-ce que dumpsys et quels sont ses avantages
dumpsys est un outil Android qui s'exécute sur le périphérique et diffuse des informations intéressantes sur l'état des services système.
Avantages évidents:
Quelles informations pouvons-nous extraire de la commande Shell de dumpsys et comment nous pouvons l'utiliser
Si vous exécutez dumpsys, vous verrez une tonne d'informations système. Mais vous ne pouvez utiliser que des parties distinctes de ce grand vidage.
pour voir toutes les "sous-commandes" de dumpsys, faites:
dumpsys | grep "DUMP OF SERVICE"
Sortie:
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:
Quelques exemples de dumping et sortie
1) Obtenir toutes les statistiques possibles de la batterie:
$~ adb Shell dumpsys battery
Vous obtiendrez une sortie:
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) Obtenir des informations wifi
~$ adb Shell dumpsys wifi
Sortie:
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) Obtenir des informations sur le processeur
~$ adb Shell dumpsys cpuinfo
Sortie:
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) Obtenir des informations d'utilisation de la mémoire
~$ adb Shell dumpsys meminfo 'your apps package name'
Sortie:
** 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
Si vous voulez voir les informations pour tous les processus, utilisez ~$ adb Shell dumpsys meminfo
dumpsys est finalement un outil flexible et utile!
Si vous souhaitez utiliser cet outil, n'oubliez pas d'ajouter une autorisation dans votre Android manifeste automatiquement Android.permission.DUMP
Essayez de tester toutes les commandes pour en savoir plus sur dumpsys. Bon dumping!
En regardant le code source de dumpsys et service , vous pouvez obtenir la liste des services disponibles en exécutant ceci:
adb Shell service list
Vous pouvez ensuite fournir le nom du service qui vous intéresse à Dumpsys pour obtenir les informations spécifiques. Par exemple (notez que tous les services ne fournissent pas d'informations de vidage):
adb Shell dumpsys activity
adb Shell dumpsys cpuinfo
adb Shell dumpsys battery
Comme vous pouvez le voir dans le code (et dans la réponse de K_Anas), si vous appelez dumpsys sans nom de service, les informations relatives à tous les services seront affichées dans un seul grand dump:
adb Shell dumpsys
Certains services peuvent recevoir des arguments supplémentaires indiquant ce qui doit normalement être expliqué si vous avez fourni un argument -h
, par exemple:
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
Selon informations officielles Android sur dumpsys :
L'outil dumpsys s'exécute sur le périphérique et fournit des informations sur l'état des services système.
Pour obtenir une liste des services disponibles, utilisez
adb Shell dumpsys -l
j'utilise dumpsys pour attraper si l'application est plantée et que le processus est toujours actif. la situation que j’ai utilisée est de trouver à propos de l’application de la machine distante est écrasée ou non.
dumpsys | grep myapp | grep "Application Error"
ou
adb Shell dumpsys | grep myapp | grep Error
ou tout ce qui peut aider ... etc
si l'application ne fonctionne pas, vous n'obtiendrez rien. Lorsque l'application est arrêtée, Android affiche le message à l'écran, le processus est toujours actif et si vous vérifiez avec la commande "ps" ou toute autre chose, vous verrez que l'état du processus ne montre aucune erreur ni aucun crash. Mais lorsque vous cliquez sur le bouton pour fermer le message, le processus d'application sera nettoyé de la liste des processus. il est donc difficile de trouver l'état de plantage sans code dans l'application. mais dumpsys vous aide.