adb shell dumpsys batteryadb shell dumpsys battery,查看电池电量的相关信息。
部分输出信息的含义:
1) AC powered:false,表示是否连接电源供电,false表示没有使用电源供电。
2) USB powered:true,表示是否使用USB供电,true表示使用USB供电。
3) status:5,表示电池充电状态,5表示电池电量是满的(对应“BATTERY_STATUS_FULL”:5)
4) health:2,表示电池的健康状况,2表示电池的状态为良好(对应“BATTERY_HEALTH_GOOD”:2)
5) present:true,表示手机上是否有电池,true 表示有电池。
6) level:100,表示当前剩余的电量信息。如果使用的是模拟器则永远是50,表示剩余电量为50%。
7) scale:100,表示当前电池电量的最大值,通常该值为100。这里里的电池电量是按百分比显示的。
8) voltage:4332,表示当前电池的电压,模拟器上的电压为0,这里电压单位为毫伏(mv)。
9) temperature:314,表示当前电池的温度,314表示31.4度,其单位为0.1度。
10) technology:LI-ion,表示电池使用的技术,Li-ion表示锂电池。
adb shell dumpsys WiFiadb shell dumpsys WiFi,查看无线网络的信息。由于输出内容很多,可以加入“|more”控制输出内容,按空格继续显示下页。
部分输出信息的含义:
1) Wi-Fi:enable,表示wifi的连接状态信息,共包含5中状态:
WIFI_STATE_DISABLED:Wifi已关闭。
WIFI_STATE_DISBLING:Wifi正在关闭中。
WIFI_STATE_ENABLED:Wifi已启用。
WIFI_STATE_ENABLING:Wifi正在启动中。
WIFI_STATE_UNKNOWN:未知wifi状态。
2) Internal stats,在该部分罗列了一些关于wifi的设备名称、wifi的名称、状态、IP地址、MAc地址、网络加密方式等信息。
adb shell dumpsys poweradb shell dumpsys power,查看电源管理的相关信息。
可以输入“findstr”或“grep”只输出我们想要查看的内容:adb shell dumpsys power findstr “mScreenOffTimeoutSetting”
adb shell dumpsys telephony.registryadb shell dumpsys telephony.registry,查看电话相关信息
部分输出信息的含义:
1) mCallState,表示呼叫状态。0:表示待机状态,1:表示来电尚未接听状态,2:表示电话占线。
2) mCallncomingNumber,表示最近一次来电的电话号码。
3) mServiceState,表示服务状态。0:表示正常使用状态,1:表示电话没有连接到任何电信运营网络,2:表示电话只能拨打紧急呼叫号码,3:表示电话已关机。
4) mSignalStrength,表示信号强度信息。
5) mMessageWaiting,表示是否在等待无线电消息。
6) mCallForwarding,表示是否启用了呼叫转移。
7) mDataActivty,表示无线数据通话情况。0:表示没有通话,1:表示正在接收IP PPP信号,2:表示正在发送IP PPP信号,3:表示正在接收和发送IP PPP信号。
8) mDataConnectionState,表示无线数据连接情况。0:表示无数据连接,1:表示正在创建数据连接,2:表示正在发送IP PPP信号,3:表示电话已关机。
9) mDataConnectionPossible,表示是否有数据连接。
10) mDataConnectionReason,表示数据连接的原因。
11) mDataConnectionApn,表示Access Point Name,接入点名称。
12) mDataConnectionLinkproperties,表示数据连接的链路属性。
13) mDataConnectionCapbilities,表示数据链路连接的能力。
14) mCellLocation,表示基站相关信息。
15) registrations,表示等级记录计数。
adb shell cat /proc/cpuinfoAnddroid系统中的“/proc”分区保存系统各种实时信息,如:CPU、内存 等。
adb shell cat /proc/cpuinfo,查看CPU硬件的相关信息。
adb shell cat /proc/meminfoadb shell cat /proc/meminfo,查看内存的相关信息。
adb shell cat /proc/iomemadb shell cat /proc/meminfo,查看I/O内存分区的相关信息。
获取手机型号adb shell cat /system/build.prop | findstr “ro.product.model”
获取手机处理器信息adb shell cat /proc/cpuinfo | findstr “Processor”
获取手机内存信息adb shell cat /proc/meminfo | findstr “MemTotal”
获取手机屏幕分辨率信息adb shell dumpsys window | findstr “Display”
获取手机系统版本信息adb shell getprop ro.build.version.release
获取手机内核信息adb shell cat /proc/version
获取手机运营商信息adb shell getprop gsm.operator.alpha
获取手机网络类型信息adb shell getprop gsm.network.type
获取手机串号信息adb shell dumpsys iphonesubinfo | findstr “Device ID”
获取手机Android系统各个分区的相关信息adb shell df
获取Linux内核的环形缓冲区信息
adb shell –》su root –》 dmesg
输出内容较多,可以将输出内容放入到SD卡的log.txt文件中:dmesg > /sdcard/log.txt
获取手机Android系统当前状态的相关信息adb shell dumpstate
输出内容大概包括:
1) 系统构建的版本细心
2) 网络相关信息
3) 系统内核的相关信息
4) 正常运行时间信息
5) 内存使用情况信息
6) CPU使用情况信息
7) 进程相关情况信息
8) 正在运行的应用列表相关信息
9) 长在运行的服务列表相关信息
10) 系统中已安装的应用包相关信息
……
获取设备序列号adb get-serialno
IMEI:International Mobile Equipment Identify,国际移动设备识别码的缩写,俗称:手机串号、手机串码、手机序列号,用于GSM移动wang落中识别每一步独立的手机。
获取模拟器/设备的当前状态adb get-state
状态信息:device、offline、on device
adb logcat查看和跟踪系统日志缓冲区信息,每一条日志消息都有一个标记和优先级与其关联。标记是一个极短的字符串,用于表示原始消息的来源。日志的优先级为每一行的首字符,其可能为:V、D、I、W、E。
1) V:代表冗余级别的日志信息
2) D:代表调试级别的日志信息
3) I:代表信息级别的日志信息
4) W:代表警告级别的日志信息
5) E:代表错误级别的日志信息
只想输出优先级别大于“警告”级别的日志信息:adb logcat *:W
Android日志系统为日志消息保持了多个循环缓冲区,而且不是所有的消息都被发送到默认缓冲区,可以使用”-b”参数,查看附加的缓冲区
1) radio:查看包含无线/电话相关的缓冲区消息
2) events:查看事件相关消息
3) main:查看主缓冲区相关的消息
以查看主缓冲区为例:adb logcat -b main
adb bugreport查看Android启动过程的日志信息,以及启动后的系统状态,包括进程列表、内存信息、VM信息等。
针对输出信息简单的介绍:
1) MEMORY INFO:读取文件/proc/meminfo,查看系统内存使用状态信息。
2) CPU INFO:执行”/system/bin/top -n 1 -d 1 -m 30 -t”命令,查看系统CPU使用状态信息。
3) PROCARNK:执行”/system/bin/procrank”命令,查看内容使用状态。
4) VIRTUAL MEMORY STATS:读取文件/proc/vmstat,查看虚拟内存分配情况,vmalloc申请的内存位于vmalloc_start~vmalloc_end之间,虽然逻辑上它们是连续的,但是物理上它们不要求连续。
5) VMALLOC INFO:读取文件/proc/wmallocinfo,查看虚拟内存分配情况。
6) SLAB INFO:读取文件/proc/slabinfo,查看分配器SLAB的一些信息。
7) ZONEINFO:读取文件/proc/zoneinfo,查看区域信息。
8) SYSTEM LOG:执行”/system/bin/logcat -v time -f *:v”命令,输出LOG,用于分析系统的当前状态。
9) VM TRACES:读取文件/data/anr/traces.txt。因为每个程序都是在各自的VM中运行的,这个LOG显示各自VM的一些traces。
10) EVENT LOG TAGS:读取文件/etc/event-log-tags。
11) EVENT LOG:执行”/stystem/bin/logcat -b events -v time -d *:v”,输出一些event的log信息。
12) RADIO LOG:执行”/stystem/bin/logcat -b radio -v time -d *:v”,输出一些无线设备的连接状态,如GSM、PHONE等信息。
13) NETWORK STATE:获取网络接状态和路由相关信息。
14) SYSTEM PROPERTIES:获取一系系统属性,如Version、Services、netwok等消息。
15) KERNEL LOG:显示Android内核输出的日志信息。
16) KERNEL WAKELOCKS:内核对一些程式和服务唤醒与休眠的信息。
17) PROCESSES:显示当前进程信息。
18) PROCESSES AND THREADS:执行”ps -t -p P”命令,显示当前进程和线程。
19) LIBRANK:执行/system/bin/librank,提出不必要的library。
20) BINDER FAILED TRANSACTION LOG:读取文件/proc/binder/failed_transaction_log信息。
21) BINDER TRANSACTION LOG:读取文件/proc/binder/transaction_log信息。
22) BINDER STATS:读取文件/proc/binder/stats信息。
23) BINDER PROCESS STATE:读取文件/proc/binder/proc/*,获取一些进程的状态信息。
24) FILESYSTES:执行/system/bin/df,获取主要文件的一些容量使用状态信息。
25) PACKAGE SETINGS:读取文件/data/system/packages.xml,获取系统中package的一些状态信息。
26) PACKAGE UID ERRORS:读取文件/data/system/uiderrors.txt,获取错误信息。
27) KERNEL LAST KMSG LOG:获取最新内核消息日志信息。
…
adb jdwp查看指定设备的JDWP相关进程ID。
JDWP,全称为Java Debug Wire Protocol,即Java调试器无线协议,它定义了调试器和被调试的Java虚拟机(Target VM)之间的通信协议。JDWP与其他协议不同,它仅仅定义了数据传输的格式,并没有具体的传输方式。
adb forward将本机的端口重定向到模拟器或者设备端口上。
例如:将本机的2211端口重定向到设备上的5566端口:adb forward tcp:2211 tcp:5566,将所有发往2211端口的数据转发到5566端口上。