首页 > 代码库 > 常用的adb命令
常用的adb命令
1、adb devices 查看设备 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示(如图)
只提示“List of devices attached” 没有罗列设备,两种情况下遇到过这个问题:(1)手机设置导致,确定手机已经连接到电脑上,且手机 “设置->开发者选项->开发人员选项”和“USB调试”为打开状态,在“是否允许USB调试”点击确定;(2)adb版本太老了,更新一下到最新的版本试试。
2、 adb install (apk在PC上的路径/)*.apk (会将apk文件上传到了模拟器自带操作系统的data/app目录下了) 安装应用
3、adb uninstall apk的包名(用EC切换到DDMS的File Explorer中查看,data/data下), 卸载app
也可以使用:adb shell pm uninstall com.funnybaby.*(包名)卸载
4、adb shell 通过命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令
另外如果只想执行一条shell命令,可以采用以下的方式:
adb shell [command]
如:adb shell dmesg会打印出内核的调试信息
5、am
你也可以在adb shell前执行am命令:
关于一些am命令的介绍:
start [options] :启动activity通过指定的intent参数。具体intent参数参照官方表。
startservice [options] : 启动service通过指定的intent参数。具体intent跟start命令参数相同。
force-stop : 强制停止指定的package包应用。
kill
[options]
:杀死指定package包应用进程,该命令在安全模式下杀死进程,不影响用户体验。参数选项:--user |
all | current: 指定user进程杀死,如果不指定默认为所有users。(关于USER_ID下面会介绍到)
kill-all :杀死所有的后台进程。
broadcast
[options] :发送一个intent。具体intent参数参照start命令参数。参数选项:--user
| all | current: 指定user进程杀死,如果不指定默认为所有users。
instrument [options] :测试命令,不多作介绍。
profile start :在进程中运行profile,分析结果写到里。
profile stop :停止profile。
set-debug-app [options] :设置package包应用为debug模式。参数选项:-w|--persistent:等待进入调试模式,保留值。
clear-debug-app :清空之前用set-debug-app命令设置的package包应用。
6、adb shell am force-stop
作用:强制关闭一个应用程序
举例:adb shell am force-stop com.lt.test
adb shell am force-stop比使用 kill -9要方便
7、adb shell am start -a android.intent.action.VIEW
作用:启动一个应用程序
8、adb shell pm list packages列出手机所有app包名
9、adb shell logcat > C:\logcat\logname.txt(自定义日志存放的位置和名称)
adb logcat -f /sdcard/log.txt** 命令, 注意这个log文件是输出到手机上,需要指定合适的路径。
adb logcat | grep “E.*”过滤等级是E的日志
adb logcat *:F
可截取崩溃日志,具体
截取log保存到c盘目录下:adb shell logcat > C:\logcat\logname.txt
手机操作
操作结束后ctrl+c退出,去上面C:\logcat\位置去查询logname.txt日志
10、清除应用数据与缓存
有些时候我们测试需要清除数据与缓存,则需要用到如下命令:
adb shell pm clear 如:adb shell pm clear com.stormzhang.demo
11、查询显示当前界面的activity
adb shell dumpsys activity activities
13、将手机/sdcard/adb/Debug/ErrorLog错误日志拉取出来,保存到电脑
adb pull /sdcard/adb/Debug/ErrorLog
14、将电脑文件保存到手机
adb push
15、这条命令相当于按了设备的Backkey键
adb shell input keyevent 4
//可以解锁屏幕
adb shell input keyevent 82
//在屏幕上做划屏操作,前四个数为坐标点,后面是滑动的时间(单位毫秒)
adb shell input swipe 50 250 250 250 500
//在屏幕上点击坐标点x=50 y=250的位置。
adb shell input tap 50 250
//输入字符abc
adb shell input text abc
每个数字与keycode对应表如下:
0 --> "KEYCODE_UNKNOWN"
1 --> "KEYCODE_MENU"
2 --> "KEYCODE_SOFT_RIGHT"
3 --> "KEYCODE_HOME"
4 --> "KEYCODE_BACK"
5 --> "KEYCODE_CALL"
6 --> "KEYCODE_ENDCALL"
7 --> "KEYCODE_0"
8 --> "KEYCODE_1"
9 --> "KEYCODE_2"
10 --> "KEYCODE_3"
11 --> "KEYCODE_4"
12 --> "KEYCODE_5"
13 --> "KEYCODE_6"
14 --> "KEYCODE_7"
15 --> "KEYCODE_8"
16 --> "KEYCODE_9"
17 --> "KEYCODE_STAR"
18 --> "KEYCODE_POUND"
19 --> "KEYCODE_DPAD_UP"
20 --> "KEYCODE_DPAD_DOWN"
21 --> "KEYCODE_DPAD_LEFT"
22 --> "KEYCODE_DPAD_RIGHT"
23 --> "KEYCODE_DPAD_CENTER"
24 --> "KEYCODE_VOLUME_UP"
25 --> "KEYCODE_VOLUME_DOWN"
26 --> "KEYCODE_POWER"
27 --> "KEYCODE_CAMERA"
28 --> "KEYCODE_CLEAR"
29 --> "KEYCODE_A"
30 --> "KEYCODE_B"
31 --> "KEYCODE_C"
32 --> "KEYCODE_D"
33 --> "KEYCODE_E"
34 --> "KEYCODE_F"
35 --> "KEYCODE_G"
36 --> "KEYCODE_H"
37 --> "KEYCODE_I"
38 --> "KEYCODE_J"
39 --> "KEYCODE_K"
40 --> "KEYCODE_L"
41 --> "KEYCODE_M"
42 --> "KEYCODE_N"
43 --> "KEYCODE_O"
44 --> "KEYCODE_P"
45 --> "KEYCODE_Q"
46 --> "KEYCODE_R"
47 --> "KEYCODE_S"
48 --> "KEYCODE_T"
49 --> "KEYCODE_U"
50 --> "KEYCODE_V"
51 --> "KEYCODE_W"
52 --> "KEYCODE_X"
53 --> "KEYCODE_Y"
54 --> "KEYCODE_Z"
55 --> "KEYCODE_COMMA"
56 --> "KEYCODE_PERIOD"
57 --> "KEYCODE_ALT_LEFT"
58 --> "KEYCODE_ALT_RIGHT"
59 --> "KEYCODE_SHIFT_LEFT"
60 --> "KEYCODE_SHIFT_RIGHT"
61 --> "KEYCODE_TAB"
62 --> "KEYCODE_SPACE"
63 --> "KEYCODE_SYM"
64 --> "KEYCODE_EXPLORER"
65 --> "KEYCODE_ENVELOPE"
66 --> "KEYCODE_ENTER"
67 --> "KEYCODE_DEL"
68 --> "KEYCODE_GRAVE"
69 --> "KEYCODE_MINUS"
70 --> "KEYCODE_EQUALS"
71 --> "KEYCODE_LEFT_BRACKET"
72 --> "KEYCODE_RIGHT_BRACKET"
73 --> "KEYCODE_BACKSLASH"
74 --> "KEYCODE_SEMICOLON"
75 --> "KEYCODE_APOSTROPHE"
76 --> "KEYCODE_SLASH"
77 --> "KEYCODE_AT"
78 --> "KEYCODE_NUM"
79 --> "KEYCODE_HEADSETHOOK"
80 --> "KEYCODE_FOCUS"
81 --> "KEYCODE_PLUS"
82 --> "KEYCODE_MENU"
83 --> "KEYCODE_NOTIFICATION"
84 --> "KEYCODE_SEARCH"
85 --> "TAG_LAST_KEYCODE"
常用的adb命令