您的位置:首页技术文章
文章详情页

详解android adb常见用法

浏览:59日期:2022-06-23 08:10:48

ADB,即 Android Debug Bridge,是 Android 开发/测试人员不可替代的强大工具。

adb与应用的连接1.启动/停止

启动 adb server 命令:

adb start-server

(一般无需手动执行此命令,在运行 adb 命令时若发现 adb server 没有启动会自动调起。)

停止 adb server 命令:

adb kill-server2.查看 adb 版本

命令:

adb version

输出为:

C:WINDOWSsystem32>adb versionAndroid Debug Bridge version 1.0.41Version 29.0.6-6198805Installed as E:programandroid-sdk_r24.4.1-windowsandroid-sdk-windowsplatform-toolsadb.exe

3.查看已连接设备

adb devices

输出为:

C:WINDOWSsystem32>adb devicesList of devices attachedCVH7N16A12000234 device

显示屏参数1.android_id

adb shell settings get secure android_id2.android系统版本

adb shell getprop ro.build.version.release3.分辨率

adb shell wm size

输出为:

C:WINDOWSsystem32>adb shell wm sizePhysical 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:WINDOWSsystem32>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:WINDOWSsystem32>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.打印第三方应用的列表

adb shell pm list package -3

输出为:

C:WINDOWSsystem32>adb shell pm list package -3package:com.quark.browserpackage:com.safervpn.androidpackage:de.blinkt.openvpnpackage:com.zhiliaoapp.musically.gopackage:net.ivpn.clientpackage:com.networkprotect.ultravpnpackage:com.google.android.apps.docs.editors.docspackage:com.expressvpn.vpnpackage:com.sharpvpn.freefast_ipchangerpackage:com.whatsapppackage:com.google.android.apps.docs.editors.sheetspackage:com.google.android.apps.docs.editors.slidespackage:com.digitanlabs.apps.supervpnpackage:com.gaditek.purevpnicspackage:com.speedify.speedifyandroidpackage:net.hideman.freepackage:net.safemove.android.cippackage:com.securitykiss.androidpackage:im.zpn

2.包名含有某字符的应用

C:WINDOWSsystem32>adb shell pm list packages tencentpackage:com.tencent.mmpackage:com.tencent.qqlivei18npackage:com.tencent.mobileqq

当然也可以用管道符来过滤:

C:WINDOWSsystem32>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: 含义 3HOME 键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 battery

查看闹钟信息

adb shell dumpsys alarm3.截屏

adb shell screencap /imgpath/screen.png4.录屏

adb shell screenrecord /imgpath/demo.mp4

imgpath可以根据自己相册里面的照片路径信息获取

以上就是详解android adb常见用法的详细内容,更多关于android adb用法的资料请关注好吧啦网其它相关文章!

标签: android adb
相关文章: