详解android|详解android adb常见用法
ADB,即 Android Debug Bridge,是 Android 开发/测试人员不可替代的强大工具。
adb与应用的连接
1.启动/停止
启动 adb server 命令:
adb start-server
(一般无需手动执行此命令,在运行 adb 命令时若发现 adb server 没有启动会自动调起。)
停止 adb server 命令:
adb kill-server
2.查看 adb 版本
命令:
adb version
输出为:
C:\WINDOWS\system32>adb version3.查看已连接设备
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
adb devices
输出为:
C:\WINDOWS\system32>adb devices显示屏参数 1.android_id
List of devices attached
CVH7N16A12000234 device
adb shell settings get secure android_id
2.android系统版本
adb shell getprop ro.build.version.release
3.分辨率
adb shell wm size
输出为:
C:\WINDOWS\system32>adb shell wm size4.密度
Physical size: 1440x2560
adb shell wm density
输出为:
Physical density: 5605.显示屏参数
adb shell dumpsys window displays
其中 mDisplayId 为 显示屏编号,init 是初始分辨率和屏幕密度,app 的高度比 init 里的要小,表示屏幕底部有虚拟按键
adb与应用交互 1.查看前台 Activity
adb shell dumpsys activity | findstr "mFocusedActivity"
获取完整路径:
adb shell dumpsys window | findstr mCurrentFocus
2.查看正在运行的Services
adb shell dumpsys activity services [packagename]
3查看应用详细信息
adb shell dumpsys package [packagename]
command | 用途 |
---|---|
start [options] | 启动 Activity |
startservice [options] | 启动 Service |
broadcast [options] | 发送广播 |
force-stop | 停止进程 |
参数 | 作用 |
---|---|
-a | 指定action,比如 android.intent.action.VIEW |
-c | 指定 category,比如 android.intent.category.APP_CONTACTS |
-n | 指定完整 component 名,用于明确指定启动哪个 Activity,如 com.example.app/.ExampleActivity |
-W | 输出完整的打开应用过程 |
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: 2936Complete
5.启动Service
adb shell am startservice "com.example.crime/com.example.crime.MyService"
6.停止Service
adb shell am stopservice [options]
7.发送广播
adb shell am broadcast -a "our.specified.action"
8.强制停止应用
adb shell am force-stop com.qihoo360.mobilesafe
9.查看应用安装路径
adb shell pm path(PACKAGE)
举例:
C:\WINDOWS\system32>adb shell pm path com.tencent.mobileqqpackage:/data/app/com.tencent.mobileqq-xt0XnDpe7yq8Z5YGef0iEA==/base.apk
10.查看手机应用
adb shell pm list packages
可在 adb shell pm list packages 的基础上可以加一些参数进行过滤查看不同的列表,支持的过滤参数如下:
参数 | 显示列表 |
---|---|
无 | 所有应用 |
-f | 显示应用关联的apk文件 |
-d | 只显示disabled的应用 |
-e | 只显示enabled的应用 |
-s | 只显示系统应用 |
-3 | 只显示第三方应用 |
-i | 显示应用的 installer |
-u | 包含已卸载应用 |
1.打印第三方应用的列表
adb shell pm list package -3
输出为:
【详解android|详解android adb常见用法】C:\WINDOWS\system32>adb shell pm list package -32.包名含有某字符的应用
package:com.quark.browser
package:com.safer.android
package:de.blinkt.open
package:com.zhiliaoapp.musically.go
package:net.i.client
package:com.networkprotect.ultra
package:com.google.android.apps.docs.editors.docs
package:com.express.
package:com.sharp.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.super
package:com.gaditek.pureics
package:com.speedify.speedifyandroid
package:net.hideman.free
package:net.safemove.android.cip
package:com.securitykiss.android
package:im.zpn
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.mobileqq
11.安装apk
adb installxx.apk
允许覆盖安装:
adb install -r xx.apk
12.卸载apk
adb uninstall com.tencent.mobileqq
卸载并保留数据:
adb uninstall -k com.tencent.mobileqq
13.指定adb server的网络端口
adb -P 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 26
2.滑动屏幕
adb shell input swipe x1 y1 x2 y2
参数分别表示:起始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标
3.输入文本
adb shell input text 123
4.模拟屏幕点击事件
adb shell input tap 500 500
事件输出 1.日志信息:
使用adb logcat可以显示日志信息
2.dumpsys:
dumpsys命令可以提供非常多的系统信息。可以通过adb shell service list来查看dumpsys能提供查询信息的服务。
列举几个:
查看电池信息
adb shell dumpsys battery
查看闹钟信息
adb shell dumpsys alarm
3.截屏
adb shell screencap /imgpath/screen.png
4.录屏
adb shell screenrecord /imgpath/demo.mp4
imgpath可以根据自己相册里面的照片路径信息获取
以上就是详解android adb常见用法的详细内容,更多关于android adb用法的资料请关注脚本之家其它相关文章!
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- android第三方框架(五)ButterKnife
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- Java|Java OpenCV图像处理之SIFT角点检测详解
- C语言浮点函数中的modf和fmod详解
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库