详解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 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_id

2.android系统版本
adb shell getprop ro.build.version.release

3.分辨率
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 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 停止进程
用于决定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: 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 -3
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

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.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用法的资料请关注脚本之家其它相关文章!

    推荐阅读