ADB,即 Android Debug Bridge,是 Android 开发/测试人员不可替代的强大工具。
adb与应用的连接
1.启动/停止
启动 adb server 命令:
adb start-server(一般无需手动执行此命令,在运行 adb 命令时若发现 adb server 没有启动会自动调起。)
停止 adb server 命令:
adb kill-server2.查看 adb 版本
命令:
adb version输出为:
C:\WINDOWS\system32>adb version
Android Debug Bridge version 1.0.41
Version 29.0.6-6198805
Installed as E:\program\android-sdk_r24.4.1-windows\android-sdk-windows\platform-tools\adb.exe
3.查看已连接设备
adb devices输出为:
C:\WINDOWS\system32>adb devices
List of devices attached
CVH7N16A12000234 device
显示屏参数
1.android_id
adb shell settings get secure android_id2.android系统版本
adb shell getprop ro.build.version.release3.分辨率
adb shell wm size输出为:
C:\WINDOWS\system32>adb shell wm size
Physical size: 1440x2560
4.密度
adb shell wm density输出为:
Physical density: 560
5.显示屏参数
adb shell dumpsys window displays其中 mDisplayId 为 显示屏编号,init 是初始分辨率和屏幕密度,app 的高度比 init 里的要小,表示屏幕底部有虚拟按键
adb与应用交互
1.查看前台 Activity
adb shell dumpsys activity | findstr "mFocusedActivity"获取完整路径:
adb shell dumpsys window | findstr mCurrentFocus2.查看正在运行的Services
adb shell dumpsys activity services [packagename]3查看应用详细信息
adb shell dumpsys package [packagename] command 用途 start [options] 启动 Activity startservice [options] 启动 Service broadcast [options] 发送广播 force-stop 停止进程用于决定intent对象的选项如下:
参数 作用 -a 指定action,比如 android.intent.action.VIEW -c 指定 category,比如 android.intent.category.APP_CONTACTS -n 指定完整 component 名,用于明确指定启动哪个 Activity,如 com.example.app/.ExampleActivity -W 输出完整的打开应用过程am(Activity Manager)命令来启动一个APP、启动Activity、启动广播和服务等
4.启动应用
adb shell am start xx举例:
C:\WINDOWS\system32>adb shell am start -W com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivityStarting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.tencent.mobileqq/.activity.SplashActivity }Warning: Activity not started, its current task has been brought to the frontStatus: okActivity: com.tencent.mobileqq/.activity.SplashActivityThisTime: 2916TotalTime: 2916WaitTime: 2936Complete5.启动Service
adb shell am startservice "com.example.crime/com.example.crime.MyService"6.停止Service
adb shell am stopservice [options] <INTENT>7.发送广播
adb shell am broadcast -a "our.specified.action"8.强制停止应用
adb shell am force-stop com.qihoo360.mobilesafe9.查看应用安装路径
adb shell pm path (PACKAGE)举例:
C:\WINDOWS\system32>adb shell pm path com.tencent.mobileqqpackage:/data/app/com.tencent.mobileqq-xt0XnDpe7yq8Z5YGef0iEA==/base.apk10.查看手机应用
adb shell pm list packages可在 adb shell pm list packages 的基础上可以加一些参数进行过滤查看不同的列表,支持的过滤参数如下:
参数 显示列表 无 所有应用 -f 显示应用关联的apk文件 -d 只显示disabled的应用 -e 只显示enabled的应用 -s 只显示系统应用 -3 只显示第三方应用 -i 显示应用的 installer -u 包含已卸载应用举例:
1.打印第三方应用的列表
输出为:
C:\WINDOWS\system32>adb shell pm list package -3
package:com.quark.browser
package:com.safervpn.android
package:de.blinkt.openvpn
package:com.zhiliaoapp.musically.go
package:net.ivpn.client
package:com.networkprotect.ultravpn
package:com.google.android.apps.docs.editors.docs
package:com.expressvpn.vpn
package:com.sharpvpn.freefast_ipchanger
package:com.whatsapp
package:com.google.android.apps.docs.editors.sheets
package:com.google.android.apps.docs.editors.slides
package:com.digitanlabs.apps.supervpn
package:com.gaditek.purevpnics
package:com.speedify.speedifyandroid
package:net.hideman.free
package:net.safemove.android.cip
package:com.securitykiss.android
package:im.zpn
2.包名含有某字符的应用
C:\WINDOWS\system32>adb shell pm list packages tencentpackage:com.tencent.mmpackage:com.tencent.qqlivei18npackage:com.tencent.mobileqq当然也可以用管道符来过滤:
C:\WINDOWS\system32>adb shell pm list packages | findstr tencentpackage:com.tencent.mmpackage:com.tencent.qqlivei18npackage:com.tencent.mobileqq11.安装apk
adb install xx.apk允许覆盖安装:
adb install -r xx.apk12.卸载apk
adb uninstall com.tencent.mobileqq卸载并保留数据:
adb uninstall -k com.tencent.mobileqq13.指定adb server的网络端口
adb -P <port> start-server文件管理
1.复制设备里的文件到电脑
adb pull <设备里的文件路径> [电脑上的目录]其中 电脑上的目录 参数可以省略,默认复制到当前目录。
2.复制电脑里的文件到设备
adb push <电脑上的文件路径> <设备里的目录>事件输入
1.模拟按键操作
adb shell input keyevent < keycode >不同的 keycode 能实现不同的功能,列表如下:
keycode: 含义 3 HOME 键4 返回键5 打开拨号应用6 挂断电话24 增加音量25 降低音量26 电源键27 拍照(需要在相机应用里)64 打开浏览器82 菜单键85 播放/暂停86 停止播放87 播放下一首88 播放上一首122 移动光标到行首或列表顶部123 移动光标到行末或列表底部126 恢复播放127 暂停播放164 静音176 打开系统设置187 切换应用207 打开联系人208 打开日历209 打开音乐210 打开计算器220 降低屏幕亮度221 提高屏幕亮度223 系统休眠224 点亮屏幕231 打开语音助手276 如果没有 wakelock 则让系统休眠亮屏熄屏:
adb shell input keyevent 262.滑动屏幕
adb shell input swipe x1 y1 x2 y2参数分别表示:起始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标
3.输入文本
adb shell input text 1234.模拟屏幕点击事件
adb shell input tap 500 500事件输出
1.日志信息:
使用adb logcat可以显示日志信息
2.dumpsys:
dumpsys命令可以提供非常多的系统信息。可以通过adb shell service list来查看dumpsys能提供查询信息的服务。
列举几个:
查看电池信息
查看闹钟信息
adb shell dumpsys alarm3.截屏
adb shell screencap /imgpath/screen.png4.录屏
adb shell screenrecord /imgpath/demo.mp4imgpath可以根据自己相册里面的照片路径信息获取
以上就是详解android adb常见用法的详细内容,更多关于android adb用法的资料请关注其它相关文章!