Dumpsys is a tool to gather various information from Android device and tell you its system status. All you have to do is to execute a command - "adb shell dumpsys" on your computer with J2SDK and Android SDK. Let's take a look on it.
Description
After executing the command of "adb shell dumpsys", there're various service messages are outputted as follows. (In this case, I used an Android device to depict how to get the information and what they stand for.)
Currently running services:
accessibility
account
activity
alarm
apn_settings_policy
application_policy
appwidget
audio
backup
battery
batteryinfo
bluetooth
bluetooth_a2dp
bluetooth_avrcp
bluetooth_policy
browser_policy
clipboard
clipboardEx
connectivity
content
country_detector
cpuinfo
CustomFrequencyManagerService
date_time_policy
device_info
device_policy
devicestoragemonitor
DirEncryptService
diskstats
drm.drmManager
dropbox
eas_account_policy
email_account_policy
enterprise_policy
enterprise_vpn_policy
entropy
firewall_policy
FMPlayer
gfxinfo
hardware
input_method
iphonesubinfo
isms
location
location_policy
mdm.remotedesktop
media.audio_flinger
media.audio_policy
media.camera
media.player
media.yamahaplayer
meminfo
mini_mode_app_manager
misc_policy
motion_recognition
mount
netpolicy
netstats
network_management
notification
package
password_policy
permission
phone
phone_restriction_policy
phoneext
power
remoteinjection
restriction_policy
roaming_policy
samplingprofiler
search
SecTVOutService
security_policy
sensorservice
shutdownlogger
simphonebook
statusbar
SurfaceFlinger
telephony.registry
textservices
throttle
tvoutservice
TvoutService_C
uimode
usagestats
usb
vibrator
voip
vpn_policy
wallpaper
wifi
wifi_policy
wifip2p
window
In above list, we see that there're various functional services are running on Android device. When debug engineering is necessary, we could get a lot of useful information from dumpsys for debugging purpose.
We've discussed the MonkeyRunner Control with Jython script in separate article. We can check the testing result by comparing image. However, we always hope to acquire more clues to point out the root cause of problem.
Typically, I illustrate two situations. First one is when the problem is caused by up layer (Framework layer or UI representation), but it's work normally at lower layer ( E.g. driver). For instance, when trying to switch Bluetooth On, you may observe the icon on UI which remains Off state. But the driver of Bluetooth has been powered on. In another situation we can think about is oppositive to last case
Now we have another choice to make result more accurately. Fortunately, we can monitor both system status by using parameter inspection from outputted information of dumpsys on Android device and UI comparison by using MonkeyRunner manner as the necessary testing criteria.
Typically, I illustrate two situations. First one is when the problem is caused by up layer (Framework layer or UI representation), but it's work normally at lower layer ( E.g. driver). For instance, when trying to switch Bluetooth On, you may observe the icon on UI which remains Off state. But the driver of Bluetooth has been powered on. In another situation we can think about is oppositive to last case
Now we have another choice to make result more accurately. Fortunately, we can monitor both system status by using parameter inspection from outputted information of dumpsys on Android device and UI comparison by using MonkeyRunner manner as the necessary testing criteria.
Usage
dumpsys [running_service_name]
In case nothing is followed by dumpsys, the dumpsys will output all the information of running services.
What information can be found in Dumpsys ?
Dumpsys outputs various message to depict system status of an Android device. Let's talk about some frequent used messages.
When you need power relative information, you can get them by following information.
Battery Information from Dumpsys
Execute the command of "adb shell dumpsys battery", you may see the following information.
Current Battery Service state:
AC powered: false
USB powered: true
status: 2
health: 2
present: true
level: 100
scale: 100
voltage:4191
temperature: 350
technology: Li-ion
From above information, you can get the information, including type of power source, battery capacity, measured battery voltage, measured temperature and so on.
The definitions of each parameter from battery information are as follows,
AC powered:false (Power source)
USB powered:true (Power source)
status:5 (see next section)
health:2 (see next section)
present:true (indicating whether a battery is present.)
level:100 (returns battery level as a percentage)
scale:100 (maximum battery level)
voltage: 4195 (an integer containing the current battery voltage level)
temperature: 380 (an integer containing the current battery temperature)
technology: Li-ion (technology of the current battery)
With respect to status in battery information, the definition of value is as follows,
Defined in android.os.BatteryManager
BATTERY_STATUS_UNKNOWN (0x00000001)
BATTERY_STATUS_CHARGING (0x00000002)
BATTERY_STATUS_DISCHARGING (0x00000003)
BATTERY_STATUS_NOT_CHARGING (0x00000004)
BATTERY_STATUS_FULL (0x00000005)
With respect to health in battery information, the definition of value is as follows,
Defined in android.os.BatteryManager
BATTERY_HEALTH_UNKNOWN (0x00000001)
BATTERY_HEALTH_GOOD (0x00000002)
BATTERY_HEALTH_OVERHEAT (0x00000003)
BATTERY_HEALTH_DEAD (0x00000004)
BATTERY_HEALTH_OVER_VOLTAGE (0x00000005)
BATTERY_HEALTH_UNSPECIFIED_FAILURE(0x00000006)
BATTERY_HEALTH_COLD (0x00000007)
When you need to get the information from Bluetooth you can use following information.
Bluetooth Information from Dumpsys
Execute the command of "adb shell dumpsys bluetooth", you may see the following information.
DUMP OF SERVICE bluetooth:
mIsAirplaneSensitive = true
mIsAirplaneToggleable = true
Local address = 00:07:0B:16:23:AC
Local name = MyBTPhone
isDiscovering() = false
The definitions of Bluetooth information for each parameter are as follows,
Parameter | Value | Definition |
mIsAirplaneSensitive | true | false | Airplane mode can prevent Bluetooth radio from being turned on |
mIsAirplaneToggleable | true | false | Airplane mode can prevent Bluetooth radio from being turned on |
Local name | Bluetooth device name | |
Local address | Bluetooth Address | |
isDiscovering | true|false | Discoverable for Bluetooth |
The following information will tell you what the status for telecom is.
telephony.registry Information from Dumpsys
Execute the command of "adb shell dumpsys telephony.registry", you may see the following information.
DUMP OF SERVICE telephony.registry:
last known state:
mCallState=0
mCallIncomingNumber=
mServiceState=0 home TTT TTT 46999 HSDPA:9 CSS not supported -1 -1 RoamInd=-1 DefRoamInd=-1 EmergOnly=false
mSignalStrength=SignalStrength: 19 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 gsm|lte 4
mMessageWaiting=false
mCallForwarding=false
mDataActivity=0
mDataConnectionState=0
mDataConnectionPossible=true
mDataConnectionReason=dataDisabled
mDataConnectionApn=
mDataConnectionLinkProperties=null
mDataConnectionLinkCapabilities=null
mCellLocation=Bundle[mParcelledData.dataSize=76]
registrations: count=8
Note, the information telephony.registry provided is the last know state. It means it may not the state that device is running.
The definitions of telephony.registry information for each parameter are as follows,
Parameter | Definition/Value |
mCallState | Call
State 0 - CALL_STATE_IDLE(No activity.) 1 - CALL_STATE_RINGING 2 - CALL_STATE_OFFHOOK |
mCallIncomingNumber | Last incoming call number |
mServiceState | Radio service State 0 - STATE_IN_SERVICE(Normal operation condition, the phone is registered with an operator either in home network or in roaming. ) 1 - STATE_OUT_OF_SERVICE (Phone is not registered with any operator, the phone can be currently searching a new operator to register to, or not searching to registration at all, or registration is denied, or radio signal is not available. ) 2 - STATE_EMERGENCY_ONLY (The phone is registered and locked. Only emergency numbers are allowed. ) 3 - STATE_POWER_OFF(Radio of telephony is explicitly powered off.) |
SignalStrength | Radio Signal Strength (RSSI) |
mMessageWaiting | Radio Message Waiting true | false |
mCallForwarding | Radio Call Forwarding true | false |
mDataActivity | 0
- Radio Data Call Activity: DATA_ACTIVITY_NONE(No traffic.) 1- DATA_ACTIVITY_IN(Currently receiving IP PPP traffic.) 2 - DATA_ACTIVITY_OUT(Currently sending IP PPP traffic.) 3 - DATA_ACTIVITY_INOUT(Currently both sending and receiving IP |
mDataConnectionState | Radio
Data Connection State 0 - DATA_DISCONNECTED (Disconnected. IP traffic not available. ) 1- DATA_CONNECTING(Currently setting up a data connection.) 2 - DATA_CONNECTED (Connected. IP traffic should be available.) 3 - DATA_SUSPENDED (Suspended. The connection is up, but IP traffic is temporarily unavailable. For example, in a 2G network, data activity may be suspended when a voice call arrives.) |
mActiveDataConnectionState | Radio
Data Connection State 0 - DATA_DISCONNECTED (Disconnected. IP traffic not available. ) 1- DATA_CONNECTING(Currently setting up a data connection.) 2 - DATA_CONNECTED (Connected. IP traffic should be available.) 3 - DATA_SUSPENDED (Suspended. The connection is up, but IP traffic is temporarily unavailable. For example, in a 2G network, data activity may be suspended when a voice call arrives.) |
mDataConnectionPossible | Active Radio Data Connection true | false |
mDataConnectionReason | Reason for data Connection |
mDataConnectionApn | APN Name |
mDataConnectionInterfaceName | Name of data connection interface |
mCellLocation | Information of Cell Location |
registrations: count | Recording count of registration |
When you want to know the status of WiFi, you can refer to following information.
WiFi Information from Dumpsys
Execute the command of "adb shell dumpsys wifi", you may see the following information.
Wi-Fi is enabled
Stay-awake conditions: 0
Internal state:
current HSM state: ConnectedState
mLinkProperties InterfaceName: wlan0 LinkAddresses: [1.1.2.3/24 ] Routes: [0.0.0.0/0 -> 1.1.2.6,] DnsAddresses: [1.1.2.1,] HttpProxy: [ProxyProperties.mHost == null]
mWifiInfo SSID: Google, BSSID: 00:08:0a:02:03:08, MAC: 00:00:00:00:00:80, Supplicant state: COMPLETED, RSSI: -63, Link speed: 13, Net ID: 1, Explicit connect: true
mDhcpInfoInternal addr: 1.1.2.3/24 mRoutes: 0.0.0.0/0 -> 1.1.2.6 | dns: 1.1.2.6, dhcpServer: 1.1.2.6 leaseDuration: 7200
mNetworkInfo NetworkInfo: type: WIFI[], state: CONNECTED/CONNECTED, reason:(unspecified), extra: (none), roaming: false, failover: false, isAvailable: true
mLastSignalLevel 3
mLastBssid 00:00:00:00:00:00
mLastNetworkId 1
mReconnectCount 0
mIsScanMode false
Supplicant status
bssid=00:00:00:00:00:00
ssid=Google
id=1
mode=station
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=WPA2-PSK
wpa_state=COMPLETED
ip_address=1.1.2.3
address=00:00:00:00:00:00
The definitions of wifi information for each parameter are as follows,
Parameter | Value | Definition |
Wi-Fi is | disabled|connected enabled|disconnected |
Wi-Fi Radio State |
Stay-awake conditions | Stay-awake conditions value | |
Internal state | Internal state | |
interface | Netowrk Interface | |
runState | Run State | |
SSID | Wi-Fi AP's SSID | |
BSSID | BSSID of Wi-Fi AP | |
MAC | MAC Address for Wi-Fi | |
Supplicant state | Supplicant state for Wi-Fi | |
RSSI | RSSI for Wi-Fi | |
Link speed | Link speed for Wi-Fi | |
Net ID | Net ID for Wi-Fi | |
ipaddr | Obtained IP Address for Wi-Fi | |
gateway | Gateway for Wi-Fi | |
netmask | Netmask for Wi-Fi | |
dns1 | Primary DNS for WiFi | |
dns2 | Secondary DNS for WiFi | |
DHCP server | DHCP address for WiFi | |
scanModeActive | true | false | Scan Mode Active for Wi-Fi |
haveIpAddress | true | false | Have IP Address for Wi-Fi |
obtainingIpAddress | true | false | Obtaining Ip Address for Wi-Fi |
lastSignalLevel | Last Signal Level for Wi-Fi | |
explicitlyDisabled | Explicitly Disabled for Wi-Fi |
There're more information you can get from dumpsys for your purpose. Aforementioned has provided you a good start on how to get them. Now, it's your turn.
When you want to know what network interface you are using, you can look at following information.
Connectivity Information from Dumpsys
Execute the command of "adb shell dumpsys connectivity", you may see the following information.
DUMP OF SERVICE connectivity:
NetworkInfo: type: mobile[UMTS], state: DISCONNECTED/DISCONNECTED, reason: dataDisabled, extra: vivi, roaming: false, failover: false, isAvailable: true
Mobile data state: DISCONNECTED
Data enabled: user=true, policy=true
Active network: WIFI
NetworkInfo: type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: true
android.net.wifi.WifiStateTracker@00000000
...
The definitions of connectivity information for each parameter are as follows,
Parameter | Value | Definition |
Active network | WiFi | UMTS | Check if Active Network is transmitted by WiFi or UMTS |
NetworkInfo: type: mobile | NetworkInfo: type for mobile: HSDPA|UMTS | |
state | UNKNOW / IDEL | Radio State |
CONNECTED|CONNECTED | ||
DISCONNECTED|DISCONNECTED | ||
Extra | NetworkInfo: Carrier Name | |
roaming | true | false | Roaming state |
failover | true | false | |
isAvailable | true | false | Check if Mobile network is available |
How Jython and MonkeyRunner use these information to do automated testings ?
Using shell command in MonkeyRunner and executing dumpsys service_name, you can get the particular information from it and parse/filter those information by Jython Script. Hence, you can use these information for your testing or control purpose.
Reference
作者已經移除這則留言。
回覆刪除Thanks very important content providing your blog
回覆刪除RF Post processing
Thanks!!!!!
回覆刪除Ankara
回覆刪除Bolu
Sakarya
Mersin
Malatya
25WWVL
bingöl
回覆刪除elazığ
hakkari
sakarya
erzincan
7VG
ordu evden eve nakliyat
回覆刪除bursa evden eve nakliyat
konya evden eve nakliyat
osmaniye evden eve nakliyat
bitlis evden eve nakliyat
57P3JL
ordu evden eve nakliyat
回覆刪除bursa evden eve nakliyat
konya evden eve nakliyat
osmaniye evden eve nakliyat
bitlis evden eve nakliyat
TCİ
https://istanbulolala.biz/
回覆刪除NND6
C7A63
回覆刪除Bilecik Parça Eşya Taşıma
Zonguldak Evden Eve Nakliyat
Tunceli Lojistik
Bursa Lojistik
Edirne Parça Eşya Taşıma
D3A14
回覆刪除Rize Lojistik
Poloniex Güvenilir mi
Muğla Parça Eşya Taşıma
Bitexen Güvenilir mi
buy pharmacy steroids
Konya Şehir İçi Nakliyat
Ünye Evden Eve Nakliyat
paravan blog
peptides
ED62F
回覆刪除Osmaniye Evden Eve Nakliyat
Mamak Boya Ustası
Sinop Lojistik
Vindax Güvenilir mi
Yalova Parça Eşya Taşıma
Ünye Oto Boya
Batıkent Parke Ustası
Şırnak Parça Eşya Taşıma
Poloniex Güvenilir mi
327CD
回覆刪除Ardahan Şehirler Arası Nakliyat
https://steroidvip6.com/
çekmeköy çilingir
Urfa Lojistik
Ankara Boya Ustası
Silivri Fayans Ustası
Bitlis Lojistik
Kayseri Evden Eve Nakliyat
Çerkezköy Cam Balkon
89D81
回覆刪除Eskişehir Evden Eve Nakliyat
Kucoin Güvenilir mi
Iğdır Evden Eve Nakliyat
Tokat Evden Eve Nakliyat
Mexc Güvenilir mi
Silivri Boya Ustası
Sincan Fayans Ustası
Pursaklar Fayans Ustası
Çerkezköy Boya Ustası
16CD6
回覆刪除Çerkezköy Oto Elektrik
Pursaklar Boya Ustası
Muğla Evden Eve Nakliyat
Eryaman Boya Ustası
Ünye Asma Tavan
Muş Evden Eve Nakliyat
İzmir Evden Eve Nakliyat
Adana Evden Eve Nakliyat
Bitrue Güvenilir mi
22B3C
回覆刪除Silivri Parke Ustası
Rize Evden Eve Nakliyat
Ünye Çatı Ustası
Samsun Evden Eve Nakliyat
Çerkezköy Parke Ustası
Mamak Parke Ustası
Yenimahalle Boya Ustası
Çerkezköy Çelik Kapı
Muğla Evden Eve Nakliyat
79683
回覆刪除Bitcoin Nasıl Oynanır
Bitcoin Kazanma Siteleri
Coin Çıkarma Siteleri
Coin Nedir
Binance Madenciliği Nedir
Binance Komisyon Ne Kadar
Coin Kazanma
Kripto Para Oynama
Kripto Para Nasıl Kazılır
EC925
回覆刪除Coin Kazanma Siteleri
Kripto Para Nasıl Çıkarılır
Binance Madenciliği Nedir
Binance Hangi Ülkenin
Bitcoin Nasıl Para Kazanılır
Binance Borsası Güvenilir mi
Kripto Para Nasıl Çıkarılır
Bitcoin Nasıl Çıkarılır
Bitcoin Nasıl Kazanılır
123A8
回覆刪除Resimli Magnet
EF370
回覆刪除ücretsiz görüntülü sohbet uygulamaları
kırşehir mobil sohbet chat
elazığ ücretsiz sohbet odaları
samsun telefonda kadınlarla sohbet
kütahya görüntülü sohbet kadınlarla
afyon parasız sohbet
niğde ucretsiz sohbet
erzincan bedava sohbet
kilis sesli sohbet mobil
27285
回覆刪除Tumblr Beğeni Hilesi
Threads Yeniden Paylaş Hilesi
Xcn Coin Hangi Borsada
Kripto Para Nasıl Oynanır
Telegram Abone Satın Al
Tiktok Beğeni Satın Al
Binance Referans Kodu
Bitcoin Hesap Açma
Görüntülü Sohbet Parasız
8B089
回覆刪除January 2024 Calendar
June 2024 Calendar
sohbet canlı
bingx
ilk kripto borsası
January 2024 Calendar
kraken
referans kod
telegram kripto
54ED4
回覆刪除matadorbet
----
----
----
----
----
----
----
----
2AA73
回覆刪除iç mimar
SEO Eğitimi
ehliyet sınav soruları
Mobil Proxy
Düşecek Domainler
sunucu kiralama
Bitcoin Yorum
fuar standı
fuar standı
D5158
回覆刪除Facebook Grup
fuar standı
fuar standı
güneş paneli
vds satın al
dedicated server
fuar standı
seo nedir
Tiktok SEO
FB715
回覆刪除İş İlanları
Instagram Para Kazanma
Script Satışı
Home Office İş İlanları
Lisans Satışı
Blogger SEO
Airdrop Coin Kazanma
Backlink Paketleri
Dizi Önerileri
8E5ED
回覆刪除Xec Coin Yorum
One Coin Yorum
Ltc Coin Yorum
T Coin Yorum
Apt Coin Yorum
BTC Yorum
Bitcoin Son Dakika
Tfuel Coin Yorum
Lazio Coin Yorum
daGASsa صيانة افران بمكه
回覆刪除fhbgttygj
回覆刪除شركة صيانة افران بجدة
شركة تسليك مجاري بالهفوف jQpTmfvZNZ
回覆刪除