adb shell dumpsys,默认打印出当前系统所有的service信息,通常情况下我们并不想看那么多信息,可以在后面加上具体的服务名,比如想获取关于设备电池的信息,就可以使用以下命令:

>adb shell dumpsys battery

Current Battery Service state:
AC powered: false
USB powered: true
Wireless powered: false
Max charging current: 0
status: 5
health: 2
present: true
level: 100
scale: 100
voltage: 4321
temperature: 302
technology: Li-ion

获取完整的系统服务的列表可以使用以下命令:

>adb shell dumpsys -l

Currently running services:
AutoLaunch
DockObserver
SurfaceFlinger
accessibility
account
activity
alarm
alipayservice
android.App6939Service
android.hardware.fingerprint.IFingerprintDaemon
android.security.keystore
appops
appwidget
audio
backup
battery

...

几个常用的命令:

adb shell dumpsys display #获取显示相关信息,可以从中提取分辨率信息

adb shell dumpsys cpuinfo #获取CPU信息

adb shell dumpsys meminfo #获取内存信息
adb shell dumpsys meminfo PACKAGE_NAME #获取具体应用的内存信息 adb shell dumpsys activity #获取activity信息
adb shell dumpsys activity top #获取当前界面的UI信息
adb shell dumpsys activity top | findstr ACTIVITY #获取当前界面的activity adb shell dumpsys wifi #获取wifi信息 adb shell dumpsys power #获取电源管理信息,可以获取到是否处于锁屏状态:mWakefulness=Asleep或者Awake

接下来主要介绍下telephony.registry服务,这个服务是关于无线通讯的,可以从中获取无线通讯相关的参数。执行命令得到如下输出:

>adb shell dumpsys telephony.registry

last known state:
Phone Id=0 #双卡终端中的第一个卡
mCallState=0 #0表示待机状态、1表示来电未接听状态、2表示电话占线状态
mCallIncomingNumber=

mServiceState=0 0 voice home data home CMCC CMCC 46000 CMCC CMCC 46000 LTE LTE CSS not supported -1 -1 RoamInd=-1 DefRoamInd=-1 EmergOnly=false IsDataRoamingFromRegistration=false

mSignalStrength=SignalStrength: 99 0 -120 -160 -120 -1 -1 17 -113 -15 -40 2147483647 2147483647 gsm|lte

mMessageWaiting=false

mCallForwarding=false #是否启用呼叫转移
mDataActivity=0

mDataConnectionState=2
#0:无数据连接 1:正在创建数据连接 2:已连接
mDataConnectionPossible=true
#是否有数据连接
mDataConnectionReason=dataAttached

mDataConnectionApn=

mDataConnectionLinkProperties=null

mDataConnectionNetworkCapabilities=null

mCellLocation=Bundle[mParcelledData.dataSize=64]

mCellInfo=null

Phone Id=1

mCallState=0

mCallIncomingNumber=

...

除了以上注释外,接下来主要解读两个字段:mServiceState和mSignalStrength。从源码可以看出是直接打印出了类ServiceState和SignalStrength的内容:

private SignalStrength mSignalStrength = new SignalStrength();

...

        pw.println("last known state:");
...
pw.println(" mServiceState=" + mServiceState);
pw.println(" mSignalStrength=" + mSignalStrength);
...

ServiceState类的内容输出格式可以查看源代码https://github.com/android/platform_frameworks_base/blob/master/telephony/java/android/telephony/ServiceState.java

(搜索”toString”函数):

    @Override
public String toString() {
String radioTechnology = rilRadioTechnologyToString(mRilVoiceRadioTechnology);
String dataRadioTechnology = rilRadioTechnologyToString(mRilDataRadioTechnology); return (mVoiceRegState + " " + mDataRegState
+ " "
+ "voice " + getRoamingLogString(mVoiceRoamingType)
+ " "
+ "data " + getRoamingLogString(mDataRoamingType)
+ " " + mVoiceOperatorAlphaLong
+ " " + mVoiceOperatorAlphaShort
+ " " + mVoiceOperatorNumeric
+ " " + mDataOperatorAlphaLong
+ " " + mDataOperatorAlphaShort
+ " " + mDataOperatorNumeric
+ " " + (mIsManualNetworkSelection ? "(manual)" : "")
+ " " + radioTechnology
+ " " + dataRadioTechnology
+ " " + (mCssIndicator ? "CSS supported" : "CSS not supported")
+ " " + mNetworkId
+ " " + mSystemId
+ " RoamInd=" + mCdmaRoamingIndicator
+ " DefRoamInd=" + mCdmaDefaultRoamingIndicator
+ " EmergOnly=" + mIsEmergencyOnly
+ " IsDataRoamingFromRegistration=" + mIsDataRoamingFromRegistration);
}

如此一来,mServiceState=0 0 voice home data home CMCC CMCC 46000 CMCC CMCC 46000 LTE LTE CSS not supported -1 -1 RoamInd=-1 DefRoamInd=-1 EmergOnly=false IsDataRoamingFromRegistration=false 中各个字段的意义便一目了然了。

同样,SignalStrength类也可以找到“toString”源码:

    /**
* @return string representation.
*/
@Override
public String toString() {
return ("SignalStrength:"
+ " " + mGsmSignalStrength
+ " " + mGsmBitErrorRate
+ " " + mCdmaDbm
+ " " + mCdmaEcio
+ " " + mEvdoDbm
+ " " + mEvdoEcio
+ " " + mEvdoSnr
+ " " + mLteSignalStrength
+ " " + mLteRsrp
+ " " + mLteRsrq
+ " " + mLteRssnr
+ " " + mLteCqi
+ " " + mTdScdmaRscp
+ " " + (isGsm ? "gsm|lte" : "cdma"));
}

从mSignalStrength=SignalStrength: 99 0 -120 -160 -120 -1 -1 17 -113 -15 -40 2147483647 2147483647 gsm|lte,可看出RSRP=-113,RSRQ=-15等等。

dumpsys命令的使用及telephony.registry解读的更多相关文章

  1. Android dumpsys命令的使用

    Android提供的dumpsys工具能够用于查看手机中的应用程序和系统服务信息与状态,手机连接电脑后能够直接命令行运行adb shell dumpsys 查看全部支持的Service可是这样输出的太 ...

  2. 【转】adb shell dumpsys 命令

    adb shell dumpsys,默认打印出当前系统所有service信息,在后面可加上具体的服务名 需要列出当前运行的服务,可运行: adb shell dumpsys | findstr DUM ...

  3. getprop 与 dumpsys 命令

    Android 设备连接 PC 后,我们可以通过 adb 命令完成绝大多数工作.下面借助 getprop.dumpsys 来了解一些系统相关信息. 一.getprop 此命令的原理很简单,就是从系统的 ...

  4. android中dumpsys命令使用

    转自:https://testerhome.com/topics/1462 adb shell dumpsys,默认打印出当前系统所有service信息,在后面可加上具体的服务名 需要列出当前运行的服 ...

  5. Android dumpsys命令详细使用

    一.dumpsys命令介绍 1.命令说明 Dumpsys用户系统诊断,它运行在设备上,并提供系统服务状态信息 命令格式: adb shell dumpsys [system serbices] 2.系 ...

  6. getprop与dumpsys命令

    拿到Android手机以后, 想查看一些手机信息. 其实Android获取手机信息就是两个命令, 一个是getprop 一个是dumpsys. dumpsys iphonesubinfo Phone ...

  7. adb shell dumpsys 命令 查看内存

    android程序内存被分为2部分:native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直接在native上分配的,对于内存的限制是 n ...

  8. adb shell dumpsys 命令

    Android开发中,常常可以用adb shell dumpsys这条命令来dump出系统运行时的状态信息,例如可以这样来察看某个应用的内存使用信息 adb shell dumpsys meminfo ...

  9. Android Shell命令dumpsys

    dumpsys命令可以显示手机中所有应用程序的信息,并且也会给出现在手机的状态. 直接执行adb shell dumpsys KEY 会显示以下所有信息. KEY的可选名称 SurfaceFlinge ...

随机推荐

  1. LeetCode "Minimum Height Tree" !!

    Simple data structure but not that easy to figure out.. MHT -> balanced tree.https://leetcode.com ...

  2. 【转】分析Redis架构设计

    一.前言 因为近期项目中开始使用Redis,为了更好的理解Redis并应用在适合的业务场景,需要对Redis设计与实现深入的理解. 我分析流程是按照从main进入,逐步深入分析Redis的启动流程.同 ...

  3. LDAP过滤器使用说明(用户、组和容器的默认 LDAP 过滤器和属性)

    说明来源:http://docs.oracle.com/html/E35191_01/ldap-filters-attrs-users.html#ldap-filters-attributes-use ...

  4. Oracle11g中Exp命令空表不能导出的问题

    http://www.jb51.net/article/43894.htm 一.不能导出空表的原因 1.Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空 ...

  5. 访问public

    public(C# 参考) public 关键字是类型和类型成员的访问修饰符. 公共访问是允许的最高访问级别. 对访问公共成员没有限制,如下例所示: class SampleClass { publi ...

  6. Spark运行流程概述

    Application 指用户编写的Spark应用程序,其中包含了一个Driver功能的代码和分布在集群中多个节点上运行的Executor代码. Driver Spark中的Driver即运行上述Ap ...

  7. WLS_Oracle Weblogic管理概述(概念)

    2012-09-01 Created By BaoXinjian

  8. sublime3的licence(update 2016-04-14)

    —– BEGIN LICENSE —–Michael BarnesSingle User LicenseEA7E-8213858A353C41 872A0D5C DF9B2950 AFF6F667C4 ...

  9. 要件审判九步法及其基本价值 z

    要件审判九步法及其基本价值 发布时间:2014-12-24 14:29:05 作者介绍 邹碧华,男,1967年出生于江西奉新,毕业于北京大学法学院,获法学博士学位.上海市高级人民法院副院长.2006年 ...

  10. ubuntu 允许端口被连接

    iptables -I INPUT -p tcp --dport 3306 -j ACCEPT  推荐一个自己业余时间开发的网盘搜索引擎,360盘搜(www.360panso.com)