एंड्रॉइड एडीबी शेल "डंप्स" टूल क्या है और इसके फायदे क्या हैं?


140

मैं एडीबी शेल dumpsysकमांड्स की पूरी सूची को सभी कमांड्स की पूरी व्याख्या के साथ देख रहा हूं ।

मुझे यह जानकारी कहां मिल सकती है?

जवाबों:


247

क्या है और क्या इसके लाभ हैं

dumpsys एक एंड्रॉइड टूल है जो डिवाइस पर चलता है और सिस्टम सेवाओं की स्थिति के बारे में दिलचस्प जानकारी देता है।

स्पष्ट लाभ:

  1. एक साधारण स्ट्रिंग प्रतिनिधित्व में आसानी से सिस्टम की जानकारी प्राप्त करने की संभावना।
  2. एक सुंदर चार्ट के लिए डंप किए गए सीपीयू, रैम, बैटरी, भंडारण आँकड़े का उपयोग करने की संभावना, जो आपको यह जांचने की अनुमति देगा कि आपका आवेदन समग्र डिवाइस को कैसे प्रभावित करता है!

हम dumpsys शेल कमांड से क्या जानकारी प्राप्त कर सकते हैं और इसका उपयोग कैसे कर सकते हैं

यदि आप डिप्स चलाते हैं तो आपको सिस्टम जानकारी का एक टन दिखाई देगा। लेकिन आप इस बड़े डंप के केवल अलग हिस्सों का उपयोग कर सकते हैं।

के सभी "subcommands" को देखने के लिए 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) वाईफ़ाई informations हो रही है

~$ 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) स्मृति उपयोग informations हो रही है

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

यहां छवि विवरण दर्ज करें

डिप्सिस अंततः लचीला और उपयोगी उपकरण है!

यदि आप इस उपकरण का उपयोग करना चाहते हैं, तो अपने एंड्रॉइड मैनिफ़ेस्ट में अनुमति को स्वचालित रूप से जोड़ना न भूलें android.permission.DUMP

डिप्स के बारे में अधिक जानने के लिए सभी कमांड का परीक्षण करने का प्रयास करें। हैप्पी डंपिंग!


5
क्या यह कहीं से एक दस्तावेज है या सिर्फ आपका खुद का प्रयोग है?
ब्रायनस्टी

10
यह भी बहुत अच्छा है: adb खोल dumpsys गतिविधि प्रसारण, सभी प्रसारण दिखाता है
joecks

किटकैट (मुझे लगता है) के साथ शुरू, "बैटरीइनफो" को "बैटरिस्टेट्स" से बदल दिया गया था, और इसका आउटपुट और उपयोग भी अलग-अलग लगता है।
Android डेवलपर

1
डंप्स अविश्वसनीय रूप से शक्तिशाली है। यह कोर एंड्रॉइड सेवाओं के निजी मूल्यों की रिपोर्ट करता है जिन्हें आप आमतौर पर प्राप्त नहीं कर पाएंगे।
केविन मार्क

1
दुर्भाग्य से इसे जावा प्रोग्राम में उपयोग करने के लिए रूट या सिस्टम स्तर की अनुमति की आवश्यकता होती है।
उमेश

60

डिप्स और सेवा के लिए स्रोत कोड को देखते हुए , आप निम्नलिखित निष्पादित करके उपलब्ध सेवाओं की सूची प्राप्त कर सकते हैं:

adb shell service -l

फिर आप उस सेवा नाम की आपूर्ति कर सकते हैं जिसे आप विशिष्ट जानकारी प्राप्त करने के लिए डिप्स में रुचि रखते हैं। उदाहरण के लिए (ध्यान दें कि सभी सेवाएँ डंप जानकारी प्रदान नहीं करती हैं):

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

जैसा कि आप कोड में देख सकते हैं (और K_Anas के उत्तर में), यदि आप बिना किसी सेवा नाम के डिप्स कहते हैं, तो यह सभी सेवाओं पर जानकारी को एक बड़े डंप में डंप कर देगा:

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

13

आधिकारिक एंड्रॉइड जानकारी के अनुसार डंप्स के बारे में :

Dumpsys उपकरण डिवाइस पर चलाता है और सिस्टम सेवाओं की स्थिति के बारे में जानकारी प्रदान करता है।

उपलब्ध सेवाओं के उपयोग की एक सूची प्राप्त करने के लिए

adb shell dumpsys -l

1
मैं यह नहीं देख सकता कि इसे क्यों अस्वीकृत किया गया - यह एक उपयोगी कड़ी है। उपलब्ध सेवाओं की सूची -lमेरे लॉलीपॉप पर काम करती है लेकिन मेरे जेली बीन पर नहीं।
स्टारफ्री

1
इस उत्तर में वास्तविक प्रलेखन के लिए एक वास्तविक सूचक है। मेरा मानना ​​है कि यह वही है जो ओपी देख रहा था
रॉबर्ट आर इवांस

इसकी संभावना कम थी क्योंकि तीन साल पहले दिए गए उत्तर की तुलना में कोई नई जानकारी नहीं है।
topher217

0

अगर ऐप दुर्घटनाग्रस्त हो जाता है तो मैं उसे पकड़ने के लिए डिप्स का उपयोग करता हूं और प्रक्रिया अभी भी सक्रिय है। स्थिति मैं इसे इस्तेमाल किया है के बारे में पता करने के लिए रिमोट मशीन एप्लिकेशन दुर्घटनाग्रस्त हो गया है या नहीं।

dumpsys | grep myapp | grep "Application Error" 

या

adb shell dumpsys | grep myapp | grep Error

या कुछ भी जो मदद करता है ... आदि

यदि ऐप नहीं चल रहा है तो आपको परिणाम के रूप में कुछ भी नहीं मिलेगा। जब ऐप को बंद कर दिया जाता है तो एंड्रॉइड द्वारा स्क्रीन पर गड़बड़ी दिखाई जाती है, प्रक्रिया अभी भी सक्रिय है और यदि आप " ps " कमांड या किसी अन्य चीज़ के माध्यम से जांचते हैं , तो आप देखेंगे कि प्रक्रिया स्थिति कोई त्रुटि या क्रैश अर्थ नहीं दिखा रही है। लेकिन जब आप संदेश को बंद करने के लिए बटन पर क्लिक करते हैं, तो ऐप प्रक्रिया प्रक्रिया सूची से साफ हो जाएगी। इसलिए किसी भी कोड के बिना क्रैश स्टेट को पकड़ना मुश्किल है। लेकिन डिप्स आपकी मदद करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.