adb devices
获取连接设备/模拟器序列号和状态信息,状态信息分为device状态、offline状态、no device状态。
Adb install
安装应用至安卓设备,格式:【adb –s设备序列号 install 安装包路径】
如果用户已经安装但不想先卸载,可以加入“-r”参数。则会覆盖以前的应用并保留数据。例如adb –s b699d351 install –r E:**.apk
Adb uninstall adb –s b699d351 uninstall APK包名
adb –s b699d351
shell pm uninstall –k APK包名
-k参数在卸载应用时会保留应用的配置和缓存文件
Adb pull
用于将物理设备上的文件传到PC端。
将手机的sd卡“tmp”目录下的“error_fs.dat”下载到我的电脑的“D”盘根目录:adb pull /sdcard/tmp/error_fs.dat d:/,多个手机设备连接时,可以用-s来指定具体哪个设备传文件。例如:adb –s b699d351 pull /sdcard/tmp/error_fs.dat d:/
Adb push adb push指令可以将电脑上的文件传送到物理手机设备或者模拟器上。
例如:adb –s b699d351 push d:/robottium.rar /sdcard/ 实现将电脑d盘上的Robotium文件传送到手机上的sd卡上。Adb push指令不仅可以传送文件,也能传送文件夹到手机或者模拟器设备上,给定文件夹目录即可。
Adb shell Android 系统是基于linux系统开发的,支持常见的linux指令。这些命令都保存在手机的“/system/bin”文件下。通过adb shell指令后直接加上相关的指令及其参数来执行这些指令。
adb shell ls:查看手机当前目录的所有内容
exit:退出adb shell提示符
adb shell:访问手机系统目录进行查看,
adb shell ——> su root ——>cd /data/data —— ls :需要切换root用户
adb shell dumpsys battery
1、adb shell dumpsys battery查看电池电量信息
2、adb shell dumpsys WIFI用于查看无线网络的信息。
3、adb shell dumpsys power用于查看电源管理相关信息
通过查找条件进行查看,windows系统下可以用findstr或者grep进行筛选。例如:windows下,adb shell dumpsys power | findstr “mScreenOffTimeoutSetting”就可以仅输出屏幕关闭时间的设置信息。Linux用grep类似的格式
4、adb shell dumpsys telephony registry 可以用于查看电话相关信息,相关信息含义如下:
mCallState:表示呼叫状态,0-待机状态,1-来电尚未接听状态,2-电话占线;
MCallIncomingNumber表示最近一次来电的电话号码;
mServiceState表示服务的状态,0-正常使用,1-电话没有连接到任何运营网络,2-只能拨打紧急电话,3-关机;
mSignalStrength表示信号强度信息
mMessageWaiting表示是否在等待无线电消息
mCallForwarding表示是否启用了呼叫转移
MDataActivity表示无线数据通话情况,0-没有通话,1-正在接收IP PPP信号,2-正在发送IP PPP信号,3-正在发送和接收IP PPP信号;
mDataConnectionState表示无线数据连接情况,0-无数据联机,1-正常创建数据连接,2-已经连接,3-挂起状态,已经创建连接但是IP数据通信暂时无法使用;
mDataConnectionPossible表示是否有数据连接
mDataConnectionReason表示数据连接的原因
mDataConnectionApn表示APN
mDataConnectionLinkProperties表示数据连接的链路属性
mDataConnectionLinkCapabilites表示数据链路连接的能力
mCellLocation表示基站相关信息
registrations表示登记记录计数
5、Adb shell dumpsys window | findstr “Display”:获取手机分辨率的相关信息
6、Adb shell dumpsys iphonesubinfo | findstr “Device ID”可以用于获取手机串号的相关信息。
adb shell cat /proc/cpuinfo adb shell cat /proc/cpuinfo:用于查看硬件相关的信息。Android系统的“/proc”分区保存系统各种实时信息,如cpu、内存等信息
adb shell cat /proc/meminfo:用于查看内存相关信息
adb shell cat /proc/iomem:用于查看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 cat /proc/version可以用于获取到手机系统版本的相关信息
Adb shell getprop Adb shell getprop ro.build。version.release用于获取到手机系统版本的相关信息
Adb shell getprop gsm.operator.alpha可以用于获取手机运营商相关信息
Adb shell getprop gsm.network.type可以用于获取到手机网络类型相关的信息
adb shell df 用于获取手机Android系统各个分区相关信息
adb shell dmesg 用于输出linux内核的环形缓冲区信息,从中获取诸如系统架构,CPU、挂载的硬件、ram等多个运行级别大量的系统信息。如果出现权限不足的情况,则:
Adb shell ——> su root ——>dmesg 显示Linux内核的环形缓冲区信息还可以重定向至一个文件中进行分析:
Adb shell —> su root —>dmesg > /sdcard/log.txt 将输出信息放入SD卡的log.txt文件中
adb shell dumpstate 可以用于获取手机Android系统当前状态的相关信息。
adb get-serialno 获取设备的序列号
adb get-state 用于查看模拟器/设备的当前状态
Adb logcat 可以用于查看和跟踪系统日志缓冲区的信息。日志的优先级为每一行的首字母,可能为“V、D、I、W、E”。V——冗余级别的日志信息;D——调试级别的日志信息;I——信息级别的日志信息;W——警告级别的日志信息;E——错误级别的日志信息
查看附加缓冲区:adb logcat –b 缓冲区名,例如:
adb logcat –b events 查看事件相关的消息
adb logcat –b radio 查看包含无线/电话相关的缓冲区消息
adb logcat –b main 查看主缓冲区相关的消息
adb logcat –b all > d:/testlog/test.txt 抓取完整的log
adb logcat –c 清除当前log显示
adb bugreport 可以用于查看Android启动过程中的日志信息,以及启动以后的系统状态,包括进程列表、内存信息、VW信息等。
Adb jdwp 可以用于列出指定设备的JDWP(Java Debug Wire Protocol)相关的进程ID。
JDWP(JAVA调试器无线协议),定义了调试器(Debugger)和被调试的java虚拟机(target VM)之间的通讯协议。其中Target VM中运行着我们想要的调试程序,与一般运行的java虚拟机没什么区别,只是启动时加载了agentJDWP从而具备调试功能;Debugger则向运行中的Target VM发送命令来获取Target Vm运行时的状态和控制Java程序的执行。他们运行在各自的进程中,通过JDWP协议进行通信。
JDWP协议只定义了数据传输的格式,没有指定具体传输方式。故JDWP的实现不需要做任何修改就可以正常工作在不同的传输方式上,与语言无关,理论上可以用任意语言实现。
adb start-server 启动adb服务
adb kill-server 关闭adb服务
adb forward 用于将本机的端口重定向到模拟器或者设备端口上。
例如:将本机的2211端口重定向到设备的5566端口,adb forward tcp:2211 tcp:5566.这样所有发往2211端口的数据将会被转发到5566端口
Am (activity manager) 可以用于模拟各种系统的行为。例如启动一个activity、强制停止进程、发送广播进程、修改设备屏幕属性。
Adb shell am start –n com.sec.android.app.camera/.Camere 启动三星手机照相功能
Pm (package manager) 用于模拟android行为或者查询设备上的应用
例如,adb shell pm list package用于打印所有包列表信息
Adb shell pm list packages –f用于查看apk的位置和对应的包名
其他参数介绍:
-d——查看禁用应用包名, -e——查看使能应用包,
-s——查看系统包, -3——查看第三方应用包名,
-i——查看package的对应安装者, -u——查看被卸载过的包