简单记录一下工作中经常使用的adb shell命令
查看当前电脑连接的设备
adb devices
显示为:
localhost:Desktop hello$ adb devices
List of devices attached
UQG0220818002468 device
列出设备上的包
adb shell pm list packages
- -f 参数:adb shell pm list packages -f,输出包和包相关联的文件
- -d参数:adb shell pm list packages -d,只输出禁用的包
- -e参数:adb shell pm list packages -e,只输出启用的包
- -s参数:adb shell pm list packages -s,只输出系统的包
- -3参数:adb shell pm list packages -3,只输出第三方的包
- -i参数:adb shell pm list packages -i,只输出包和安装信息(安装来源)
- -u参数:adb shell pm list packages -u,只输出包和未安装包信息(安装来源)
- –user参数:adb shell pm list packages --user <USER_ID>,根据用户id查询用户的空间的所有包,USER_ID代表当前连接设备的顺序,从零开始
localhost:Desktop hello$ adb shell pm list packages -3
package:com.dubmic.testplane
package:com.viper.wormhole
package:tv.yixia.bobo
package:com.yixia.videoeditor
package:com.tencent.mm
package:com.dubmic.talk
package:com.baidu.searchbox
package:com.happyelements.AndroidAnimal
package:com.yixia.youguo
package:com.yixia.knowvideos
package:com.tencent.mobileqq
package:com.taobao.idlefish
package:com.sina.weibo
package:com.smile.gifmaker
查看启动activity
adb shell dumpsys package 包名
~~
adb shell dumpsys package com.yixia.youguo
localhost:Desktop hello$ adb shell dumpsys package com.yixia.youguo
Activity Resolver Table:
Schemes:
youguovideo:
218c8d4 com.yixia.youguo/com.yixia.ytb.browser.WelcomeActivity filter 21822d9
Action: "android.intent.action.VIEW"
Category: "android.intent.category.DEFAULT"
Category: "android.intent.category.BROWSABLE"
Scheme: "youguo"
Scheme: "youguoapp"
Scheme: "youguosp"
Scheme: "youguocool"
Scheme: "youguovideo"
Authority: "bb.web": -1
Authority: "bb.web": -1
Authority: "bb.web": -1
Authority: "bb.web": -1
Authority: "bb.web": -1
youguo:
218c8d4 com.yixia.youguo/com.yixia.ytb.browser.WelcomeActivity filter 21822d9
Action: "android.intent.action.VIEW"
......
......(太多,就不全copy了)
启动手机App的activity
adb shell am start -n 包名/(包名)activity 名称
~~
adb shell am start -n com.yixia.youguo/com.yixia.ytb.browser.WelcomeActivity
localhost:Desktop hello$ adb shell am start -n com.yixia.youguo/com.yixia.ytb.browser.WelcomeActivity
Starting: Intent { cmp=com.yixia.youguo/com.yixia.ytb.browser.WelcomeActivity }
查看正在运行的 Services
adb shell dumpsys activity com.yixia.youguo
localhost:Desktop hello$ adb shell dumpsys activity com.yixia.youguo
TASK 10193:com.yixia.youguo id=21 userId=0
ACTIVITY com.yixia.youguo/com.yixia.ytb.browser.MainActivity 1f51905 pid=14228
Local Activity 57a82d3 State:
mResumed=false mStopped=true mFinished=false
mChangingConfigurations=false
mCurrentConfig={1.0 ?mcc?mnc [zh_CN_#Hans] ldltr sw362dp w362dp h754dp 530dpi nrml long hdr port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1200, 2640) mAppBounds=Rect(0, 141 - 1200, 2640) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=standard mAlwaysOnTop=undefined mRotation=ROTATION_0} suim:1 fontWeightScale:100 s.3}
mLoadersStarted=true
Active Fragments in d3621c:
#0: p0{f8d7e25 #0 androidx.lifecycle.LifecycleDispatcher.report_fragment_tag}
mFragmentId=#0 mContainerId=#0 mTag=androidx.lifecycle.LifecycleDispatcher.report_fragment_tag
......
......(太多,就不全copy了)
- 该app未启动时显示:
localhost:Desktop hello$ adb shell dumpsys activity com.yixia.youguo
Unknown command: com.yixia.youguo
Bad activity command, or no activities match: com.yixia.youguo
Use -h for help.
查看进程
adb shell pm list instrumentation
安装应用
adb install 包名(包名地址拖动到这里即可)
~~
adb install /Users/xxx/Desktop/meizu_market.apk
卸载应用
adb shell pm uninstall xx(包名)
~~
adb shell pm uninstall tv.yixia.bobo
清除应用数据
adb shell pm clear xx(包名)
~~
adb shell pm clear tv.yixia.bobo
关闭应用
adb shell am force-stop xx(包名)
~~
adb shell am force-stop tv.yixia.bobo
重启手机
adb reboot
打开wifi
adb shell svc wifi enable
关闭wifi
adb shell svc wifi disable
关闭或者打开电源键
adb shell input keyevent 26
扩展
adb shell input keyevent xx ,具体数值xx如下:
按home键 --> 3 执行返回 --> 4 进入拨号键 --> 5 挂机键 --> 6
导航键,向上 --> 19 导航键,向下 --> 20 导航键,向左 --> 21 导航键,向右 --> 22 导航确定键 --> 23
音量增加键 --> 24 音量减小键 --> 25 电源键 --> 26
拍照键 --> 27 tab键 --> 61 回车键 --> 66 退格键 --> 67
拍照对焦键 --> 80 菜单键 --> 82 通知键 --> 83
搜索键 --> 84 话筒静音键 --> 91 向上翻页键 --> 92 向下翻页键 --> 93
esc键 --> 111 删除键 --> 112 大写键盘锁 --> 115 滚动锁定键 --> 116
break/pause键 --> 121 光标移动到开始键 --> 122 光标移动到末尾键 --> 123
插入键 --> 124 小键盘锁 --> 143
扬声器静音键 --> 164 放大键 --> 168 缩小建 --> 169
am命令
am全称activity manager,你能使用am去模拟各种系统的行为。
例如上边的 启动手机App的activity、关闭应用
pm命令
pm全称package manager,你能使用pm命令去模拟android行为或者查询设备上的应用。
例如上边的查看设备包、查看进程、卸载应用、清除数据等
dumpsys命令
dumpsys 是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。
使用 adb命令行调用 dumpsys,获取在连接的设备上运行的所有系统服务的诊断输出
参考文档:
https://blog.csdn.net/codehxy/article/details/49763701
https://www.cnblogs.com/wangcp-2014/p/6076035.html