adb常用命令
来源:互联网 发布:nba2konline刷球星软件 编辑:程序博客网 时间:2024/06/03 21:40
启动/停止
adb kill-server 停止adb serveradb start-server 启动adb server
设备连接
adb shell 连接设备adb devices 获取设备列表及设备状态adb get-state 获取设备状态 device : 设备正常连接 offline: 连接出现异常,设备无响应 unknown: 没有连接设备 unauthorized: 设备未授权允许调试
安装/卸载软件
运行命令后如果见到类似如下输出(状态为Success)代表安装成功
[100%] /data/local/tmp/1.apk pkg:/data/local/tmp/1.apk Success
而如果状态为 Failure则表示安装失败,比如:
[100%] /data/local/tmp/map-20160831.apk pkg: /data/local/tmp/map-20160831.apk Failure [INSTALL_FAILED_ALREADY_EXISTS]
应用列表
adb shell pm list packages [-f] [-d] [-e][-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]无 所有应用-f 显示应用关联的 apk 文件-d 只显示 disabled 的应用-e 只显示 enabled 的应用-s 只显示系统应用-3 只显示第三方应用-I 显示应用的 installer-u 包含已卸载应用<FILTER> 包名包含 <FILTER> 字符串adb shell pm list packages 列出手机装的所有app的包名adb shell pm list packages -s 列出系统应用的所有包名adb shell pm list list packages -3 列出除了系统应用的第三方应用包名
查看前台Activity/Service
adb shell dumpsys activity activities | grep mFocusedActivityadb shell dumpsys activity services [<packagename>]
与应用交互
主要是使用am<command>命令,常用的 <command>如下:
command
含义
start [options] <INTENT>
启动 <INTENT>指定的 Activity
startservice [options] <INTENT>
启动 <INTENT>指定的 Service
broadcast [options] <INTENT>
发送 <INTENT> 指定的广播
force-stop <packagename>
停止 <packagename>相关的进程
<INTENT>参数很灵活,和写 Android程序时代码里的 Intent相对应。主要是使用 am<command>命令,常用的 <command>如下:
参数
含义
-a <ACTION>
指定 action,比如android.intent.action.VIEW
c <CATEGORY>
指定 category,比如android.intent.category.APP_CONTACTS
-n <COMPONENT>
指定完整 component 名,用于明确指定启动哪个 Activity,如 com.example.app/.ExampleActivity
例如:
adb shell am start -n com.alina.demo/.ui.DemoActivity 启动应用adb shell am force-stop <packagename> 强制停止应用adb shell am startservice [options] <INTENT> 调起Serviceadb shell am broadcast [options] <INTENT> 发送广播
adb shell pm clear <packagename> 清除应用数据与缓存
设备状态
adb shell dumpsys battery 电池状况adb gegt-serialno 获取序列号adb shell cat /sys/class/net/elan0/address 获取MAC地址adb shell getprop ro.build.version.release 查看Android系统版本adb shell wm size 查看屏幕分辨率adb shell wm density 查看屏幕密度adb shell dumpsys window displays 显示屏参数adb shell settings get secure android_id android_idadb shell dumpsys iphonesubinfo Android4.4及以下版本获取IMEIadb shellsuservice call iphonesubinfo 1 Android5.0及以上版本获取Iadb shell getprop ro.build.version.release Android 系统版本adb shell ifconfig | grep Mask IP 地址adb shell cat /proc/cpuinfo CPU 信息adb shell cat /proc/meminfo 内存信息
模拟按键/输入
adb shell input keyevent <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 swipe 起始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标
adb shell input text ~
日志
[adb] logcat [<option>] ...[<filter-spec>] ..
Android的日志分为如下几个优先级(priority):
V —— Verbose(最低,输出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent(最高,啥也不输出)
按某级别过滤日志则会将该级别及以上的日志输出。
比如,命令:
adb logcat *:W
会将 Warning、Error、Fatal和 Silent 日志输出。
按 tag和级别过滤日志
<filter-spec>可以由多个 <tag>[:priority]组成。
adb logcat ActivityManager:I MyApp:D *:S
表示输出 tag ActivityManager的 Info以上级别日志,输出 tag MyApp的 Debug以上级别日志,及其它 tag的 Silent级别日志(即屏蔽其它 tag日志)。
日志格式
可以用 adb logcat -v <format>选项指定日志输出格式。
日志支持按以下几种 <format>:
l brief
默认格式。格式为:
<priority>/<tag>(<pid>): <message>
示例:
D/HeadsetStateMachine( 1785): Disconnected process message: 10, size: 0
格式为:
<priority>(<pid>) <message>
示例:
D( 1785) Disconnected process message: 10, size: 0 (HeadsetStateMachine)
格式为:
<priority>/<tag>: <message>
示例:
D/HeadsetStateMachine: Disconnected process message: 10, size: 0
格式为:
<message>
示例:
Disconnected process message: 10, size: 0
l time
格式为:
<datetime> <priority>/<tag>(<pid>): <message>
示例:
08-28 22:39:39.974 D/HeadsetStateMachine( 1785): Disconnected process message: 10, size: 0
lthreadtime
格式为:
<datetime> <pid> <tid> <priority> <tag>: <message>
示例:
08-28 22:39:39.974 1785 1832 D HeadsetStateMachine: Disconnected process message: 10, size: 0
llong
格式为:
[ <datetime> <pid>:<tid> <priority>/<tag> ]<message>
示例:
[ 08-28 22:39:39.974 1785: 1832 D/HeadsetStateMachine ]Disconnected process message: 10, size: 0
指定格式可与上面的过滤同时使用。比如:
adb logcat -v long ActivityManager:I *:S
adb logcat -c
adb shell dmesg
<6>[14201.684016] PM: noirq resume of devices complete after 0.982 msecs<6>[14201.685525] PM: early resume of devices complete after 0.838 msecs<6>[14201.753642] PM: resume of devices complete after 68.106 msecs
中括号里的[14201.684016]代表内核开始启动后的时间,单位为秒。
通过内核日志我们可以做一些事情,比如衡量内核启动时间,在系统启动完毕后的内核日志里找到 Freeing init memory那一行前面的时间就是。
状态栏和导航栏的显示隐藏
本节所说的相关设置对应Cyanogenmod里的「扩展桌面」。
命令:
adb shell settings put global policy_control <key-values>
<key-values>可由如下几种键及其对应的值组成,格式为<key1>=<value1>:<key2>=<value2>。
key
含义
immersive.full
同时隐藏
immersive.status
隐藏状态栏
immersive.navigation
隐藏导航栏
immersive.preconfirms
?
这些键对应的值可则如下值用逗号组合:
value
含义
apps
所有应用
*
所有界面
packagename
指定应用
-packagename
排除指定应用
例如:
adb shell settings put global policy_control immersive.full=*
表示设置在所有界面下都同时隐藏状态栏和导航栏。
adb shell settings put global policy_control immersive.status=com.package1,com.package2:immersive.navigation=apps,-com.package3
表示设置在包名为com.package1和 com.package2的应用里隐藏状态栏,在除了包名为 com.package3的所有应用里隐藏导航栏。
实用功能
adb exec-out screencap -p > sc.png 截图保存到电脑adb shell screencap -p /sdcard/sc.png 截图保存到设备里adb shell screenrecord /sdcard/filename.mp4 录制屏幕adb shell screenrecord –help
可以使用 adb shell screencap -h查看 screencap命令的帮助信息,下面是两个有意义的参数及含义:
参数
含义
-p
指定保存文件为 png 格式
-d display-id
指定截图的显示屏编号(有多显示屏的情况下)
另外一种一行命令截图并保存到电脑的方法:
Linux和 Windows
adb shell screencap -p | sed "s/\r$//" > sc.png
Mac OS X
adb shell screencap -p | gsed "s/\r$//" > sc.png
重新挂载 system分区为可写
1. 进入 shell并切换到 root用户权限命令:
adb shellsu2. 查看当前分区挂载情况
命令:
mount3. 重新挂载
mount -o remount,rw -t yaffs2 /dev/block/platform/msm_sdcc.1/by-name/system /system
查看连接过的 WiFi密码
adb shellsucat /data/misc/wifi/*.conf
重启手机
adb reboot
使用 Monkey进行压力测试
adb shell monkey -p <packagename> -v 500
表示向 <packagename>指定的应用程序发送 500 个伪随机事件
开启/关闭 WiFi
adb rootadb shell svc wifi enableadb shell svc wifi disable
若执行成功,输出为空;若未取得 root权限执行此命令,将执行失败,输出 Killed
查看进程
adb shell ps
列名
含义
USER
所属用户
PID
进程 ID
PPID
父进程 ID
NAME
进程名
查看实时资源占用情况
adb shell top
关闭adb
adb shell settings put global adb_enabled 0
- adb常用命令
- adb 常用命令
- ADB常用命令
- ADB 常用命令
- adb常用命令
- adb常用命令
- adb 常用命令
- adb常用命令
- ADB常用命令
- ADB 常用命令
- adb常用命令
- adb 常用命令
- adb 常用命令
- adb 常用命令
- adb 常用命令
- adb 常用命令
- adb 常用命令
- adb常用命令
- 1.2将文本当做词链表
- 欢迎使用CSDN-markdown编辑器
- def f(x,l=[]): for i in range(x): l.append(i*i) print l
- 一次配置好OpenCV2.4.13+VS2013开发环境,不用每次新工程都重新配置一遍(详细版步骤)
- 关于微信小程序(应用号),看看这篇文章就够了
- adb常用命令
- uvalive 3027 Corporative Network(种类并查集)
- 《项目百态:软件项目管理面面观》三模式总结
- leetcode-78-Subsets
- PHP的压力测试工具ab.exe 和mpm介绍提高并发数
- 用jsp+servlet+jdbc实现登录功能(体现mvc设计思想)
- Service之远程监控
- Poj 1260 Pearls
- http://blog.csdn.net/myy629464/article/list/1