Android app ADB命令
* 查看设备
adb devices
ps这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
若有多台安卓设备,可以通过在adb后面加上 -s <设备id> 对指定设备进行装包、卸载等操作
*启动adb
adb start-server
*关闭adb
adb kill-server
* 安装软件
adb install <apk文件路径>
* 卸载软件
adb uninstall <应用进程名>
*卸载app但保留数据和缓存文件
adb uninstall -k<package>
*重新启动设别
adb reboot
*重启到bootloader,即刷机模式
adb reboot bootloader
*重启到recovery,即恢复模式
adb reboot recovery
*从电脑上发送文件到设备
adb push <本地路径> <远程路径>
ps: 用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
*从设备上下载文件到电脑
adb pull <远程路径> <本地路径>
ps: 用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
*取得设备root权限
adb remount
*登录设备shell
adb shell
adb shell<command命令>
ps: adb shell 后面加的是linux系统操作指令,也即直接运行设备命令, 相当于执行远程命令
-查看手机产线版本
adb shellcat/sys/devices/mx_tsp/appid
-查看手机运营商版本
adb shellcat/proc/lk_info/sw_version
-查看手机是否加密
adb shellcat/proc/lk_info/sec(返回0则非加密。1则加密)
-查看手机型号
adb shell getpropro.build.product
-安卓版本
adb shell getpropversion.release
-查看flyme版本
adb shell getpropro.build.display.id
*使用adb命令对手机进行截屏并拷贝到电脑
adb shell /system/bin/screencap -p /sdcard/screenshot.png(保存到手机)
adb pull /sdcard/screenshot.png d:/screenshot.png(拷贝到电脑)
*录制设备屏幕
adb shell screenrecord--bugreport /sdcard/xxx.mp4
*查看性能
adb shell dumpstate
ps其输出内容主要包括以下内容
a.设备基本信息
b.内存使用情况
c.CPU使用情况
d./proc文件夹中保存的系统各种实时信息,特别是内存使用方面的详细信息,如用procrank命令获取的按内存使用率情况排序的进程列表
e.内核的一些信息
f.进程列表
g.各种进程中的线程列表以及各线程的堆栈信息
h.各进程打开的文件
i.Logcat中的三个环状日志的内容,分别是系统主日志SYSTEM、事件日志EVENT和无线电日志RADIO
j.网络相关的信息
k.df命令输入的文件系统使用率信息
l.系统中安装的应用包信息
m.dumpsys命令输出的信息
n.正在运行的应用列表
o.正在运行的服务列表
p.正在运行的内容供应组件列表
*输出当前servers信息
adb shell dumpsys
ps: 输出信息的开始部分就是所有运行的service
-查询到运行的system service后,就可以在dumpsys后面加上service的名字,查看指定的service信息。
adb shell dumpsys activity
adb shell dumpsys cpuinfo(CPU)
adb shell dumpsys batterystate(电池)
adb shell dumpsys window(分辨率)
*检测手机运行时间
adb shell uptime
*查看logcat日志
adb logcat -v time-s tag > xxx.log
ps: 其中-v time使输出的日志带时间信息,-s用于通过tag过滤日志(也可以通过管道grep过滤),> 使保存到本地文件。若直接在终端查看日志,则不加。
adb logcat | grep <正则表达式>
ps: grep后为正则表达式
adb logcat | grep <正则表达式> | tee xxx.log
ps:使用 tee可以实现同时在终端输出且保存到文件
*模拟系统按键
adb shell inputkeyevent <数值>
具体数值对应的按键如下
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 shell input keyevent 4 为返回系统主页,adb shell input keyevent 24 为增加音量
*强制杀死进程
adb shell amforce-stop <进程名>
*启动指定Activity
adb shell am start-n <进程名> /<Acitvity>
*开关wifi
adb shell svc wifienable #打开wifi
adb shell svc wifidisable #关闭wifi
*查看wifi密码
adb shell cat/data/misc/wifi/*.conf
*获取序列号
adb get-serialno
*查看设备cpu和内存占用情况
adb shell top
*查看占用内存前6的app
adb shell top -m 6
*刷新一次内存信息,然后返回
adb shell top -n 1
*查询各进程内存使用情况
adb shell procrank
*杀死一个进程
adb shell kill[pid]
*查看进程列表
adb shell ps
*查看指定进程状态
adb shell ps -x[PID]
*查看后台services信息
adb shell servicelist
*查看当前内存占用
adb shell cat/proc/meminfo
*查看IO内存分区
adb shell cat/proc/iomem
*重命名文件
adb shell rename <原文件名> <修改后文件名>
*删除system/avi.apk
adb shell rm/system/avi.apk
*删除文件夹及其下面所有文件
adb shell rm -r<文件夹>
*移动文件
adb shell mv <原文件路径> <移动后文件路径>
*设置文件权限
adb shell chmod 777<文件>
*新建文件夹
adb shell mkdirpath/foldelname
*查看文件内容
adb shell cat<file>
*清除log缓存
adb logcat -c
*查看bug报告
adb bugreport
*获取设备名称
adb shell cat/system/build.prop
*查看ADB帮助
adb help
*跑monkey
adb shell monkey -v-p <进程名> <次数>
*当adb 显示端口被占用,拒绝访问时的处理办法:
adb nodaemon server//查看哪个端口被占用
netstat -ano |findstr "<端口号>" //提示占用该端口的进程(非0地址)
(下面步骤可省略,可通过任务管理器杀死)
tasklist /fi “PIDeq <进程号>”//通过pid查看所有进程
taskkill /pid <进程号> /f//杀死进程
* 查看设备adb devicesps这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示若有多台安卓设备,可以通过在adb后面加上 -s <设备id> 对指定设备进行装包、卸载等操作
*启动adbadb start-server
*关闭adbadb kill-server
* 安装软件adb install <apk文件路径>
* 卸载软件 adb uninstall <应用进程名>
*卸载app但保留数据和缓存文件adb uninstall -k<package>
*重新启动设别adb reboot
*重启到bootloader,即刷机模式adb reboot bootloader
*重启到recovery,即恢复模式adb reboot recovery
*从电脑上发送文件到设备adb push <本地路径> <远程路径>ps: 用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
*从设备上下载文件到电脑adb pull <远程路径> <本地路径>ps: 用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
*取得设备root权限adb remount *登录设备shelladb shelladb shell<command命令>ps: adb shell 后面加的是linux系统操作指令,也即直接运行设备命令, 相当于执行远程命令-查看手机产线版本adb shellcat/sys/devices/mx_tsp/appid-查看手机运营商版本adb shellcat/proc/lk_info/sw_version-查看手机是否加密adb shellcat/proc/lk_info/sec(返回0则非加密。1则加密)-查看手机型号adb shell getpropro.build.product-安卓版本adb shell getpropversion.release-查看flyme版本adb shell getpropro.build.display.id
*使用adb命令对手机进行截屏并拷贝到电脑adb shell /system/bin/screencap -p /sdcard/screenshot.png(保存到手机)adb pull /sdcard/screenshot.png d:/screenshot.png(拷贝到电脑)
*录制设备屏幕adb shell screenrecord--bugreport /sdcard/xxx.mp4
*查看性能adb shell dumpstateps其输出内容主要包括以下内容a.设备基本信息b.内存使用情况c.CPU使用情况d./proc文件夹中保存的系统各种实时信息,特别是内存使用方面的详细信息,如用procrank命令获取的按内存使用率情况排序的进程列表e.内核的一些信息f.进程列表g.各种进程中的线程列表以及各线程的堆栈信息h.各进程打开的文件i.Logcat中的三个环状日志的内容,分别是系统主日志SYSTEM、事件日志EVENT和无线电日志RADIOj.网络相关的信息k.df命令输入的文件系统使用率信息l.系统中安装的应用包信息m.dumpsys命令输出的信息n.正在运行的应用列表o.正在运行的服务列表p.正在运行的内容供应组件列表
*输出当前servers信息adb shell dumpsys ps: 输出信息的开始部分就是所有运行的service-查询到运行的system service后,就可以在dumpsys后面加上service的名字,查看指定的service信息。adb shell dumpsys activityadb shell dumpsys cpuinfo(CPU)adb shell dumpsys batterystate(电池)adb shell dumpsys window(分辨率)
*检测手机运行时间adb shell uptime
*查看logcat日志adb logcat -v time-s tag > xxx.logps: 其中-v time使输出的日志带时间信息,-s用于通过tag过滤日志(也可以通过管道grep过滤),> 使保存到本地文件。若直接在终端查看日志,则不加。adb logcat | grep <正则表达式>ps: grep后为正则表达式adb logcat | grep <正则表达式> | tee xxx.logps:使用 tee可以实现同时在终端输出且保存到文件
*模拟系统按键adb shell inputkeyevent <数值>具体数值对应的按键如下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 shell input keyevent 4 为返回系统主页,adb shell input keyevent 24 为增加音量
*强制杀死进程adb shell amforce-stop <进程名>
*启动指定Activityadb shell am start-n <进程名> /<Acitvity>
*开关wifiadb shell svc wifienable #打开wifiadb shell svc wifidisable #关闭wifi
*查看wifi密码adb shell cat/data/misc/wifi/*.conf
*获取序列号adb get-serialno
*查看设备cpu和内存占用情况adb shell top
*查看占用内存前6的appadb shell top -m 6
*刷新一次内存信息,然后返回adb shell top -n 1
*查询各进程内存使用情况adb shell procrank
*杀死一个进程adb shell kill[pid]
*查看进程列表adb shell ps
*查看指定进程状态adb shell ps -x[PID]
*查看后台services信息adb shell servicelist
*查看当前内存占用adb shell cat/proc/meminfo
*查看IO内存分区adb shell cat/proc/iomem
*重命名文件adb shell rename <原文件名> <修改后文件名>
*删除system/avi.apkadb shell rm/system/avi.apk
*删除文件夹及其下面所有文件adb shell rm -r<文件夹>
*移动文件adb shell mv <原文件路径> <移动后文件路径>
*设置文件权限adb shell chmod 777<文件>
*新建文件夹adb shell mkdirpath/foldelname
*查看文件内容adb shell cat<file>
*清除log缓存adb logcat -c
*查看bug报告adb bugreport
*获取设备名称adb shell cat/system/build.prop
*查看ADB帮助adb help
*跑monkeyadb shell monkey -v-p <进程名> <次数>
*当adb 显示端口被占用,拒绝访问时的处理办法:adb nodaemon server//查看哪个端口被占用netstat -ano |findstr "<端口号>" //提示占用该端口的进程(非0地址)(下面步骤可省略,可通过任务管理器杀死)tasklist /fi “PIDeq <进程号>”//通过pid查看所有进程taskkill /pid <进程号> /f//杀死进程
Android app ADB命令的更多相关文章
- Android 常用 adb 命令
查看原文:http://blog.csdn.net/u010818425/article/details/52266593 (一)基础操作 安装app adb install -r xxx.apk / ...
- Android 常用 adb 命令总结
Android 常用 adb 命令总结 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命 ...
- [原创]Android 常用adb命令总结
[原创]Android 常用adb命令总结 1 adb介绍 1.1 adb官方网站及下载 官方网站下载安装:http://adbshell.com/downloads 1.2 adb安装是否成功检查? ...
- 工作中常用的Android系统ADB命令收集
工作中常用的Android系统ADB命令收集如下:先收藏以备以后查阅! adb --help //adb帮助 adb start-server //启动adb server adb kill-s ...
- Android测试——adb命令
Adb (Android Debug Bridge)起到调试桥的作用. 通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序.adb采用监听Socket TCP 5554等端口 ...
- Android 常见adb命令
Android 常见adb命令 by:授客 QQ:1033553122 1. 查看所有已链接的设备 命令: adb devices 例: C:\Users\laiyu>adb device ...
- Android 使用 adb命令 远程安装apk
Android 使用 adb命令 远程安装apk ./adb devices 列出所有设备 ./adb connect 192.168.1.89 连接到该设备 ./adb logcat 启动logca ...
- Android使用ADB命令和stetho查看app数据库
一.使用ADB命令查看 打开命令窗口,进入Android SDK目录下的platform-tools,执行命令: 1.输入:在windows下: adb shell 在linux下: ./adb sh ...
- 【转】Android 常用 adb 命令总结
原文地址:http://testerhome.com/topics/2565 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Andr ...
随机推荐
- 【LA3713 训练指南】宇航员分组 【2-sat】
题意 有A,B,C三个任务要分配给n个宇航员,其中每个宇航员恰好要分配一个任务.设所有n个宇航员的平均年龄为x,只有年龄大于或等于x的宇航员才能分配任务A:只有年龄严格小于x的宇航员才能分配任务B,而 ...
- Spark分布式计算执行模型
引言 相对Hadoop, Spark在处理需要迭代运算的机器学习训练等任务上有着很大性能提升,同时提供了批处理.实时数据处理.机器学习以及图算法等一站式的服务,因此最近大家一起来学习Spark,特别是 ...
- 手动编译cloudfoundry
1.下载cloudfoundry源代码 git clone 2.BOSH的官方定义 BOSH是一个针对大规模分布式系统的部署和生命周期管理的开源工具,其基础是"a tool of relea ...
- BMP结构详解
位图BITMAPINFOHEADER 与BITMAPFILEHEADER: 先来看BITMAPINFOHEADER,只写几个主要的biSize包含的是这个结构体的大小(包括颜色表) biWidt ...
- loadrunner怎样进行手动关联
转自:http://novasblog.blog.163.com/blog/static/43713514200901341934981/ 手动关联的主要步骤为: 第一步:录制测试脚本, ...
- Mysql Join语法以及性能优化
引言 内外联结的区别是内联结将去除所有不符合条件的记录,而外联结则保留其中部分.外左联结与外右联结的区别在于如果用A左联结B则A中所有记录都会保留在结果中,此时B中只有符合联结条件的记录,而右联结相反 ...
- requests对象
属性 0.HttpRequest.scheme 表示请求方案的字符串(通常为http或https) 1.HttpRequest.body 一个字符串,代表请求报文的主体.在处理非 HTTP 形式的报文 ...
- hibernate方言
hibernate中,方言是解决hql翻译成sql保证语法的正确,首先数据库都是支持sql的,不同的数据库会存在一些语法上面的差异.HQL则是基于对象的查询语言,当系统需要数据库的变换时,那么用hib ...
- mysql 用户创建,修改和忘记root密码的操作
#创建用户CREATE USER 'zzq'@'localhost' IDENTIFIED by 'zzq';#flush privileges 命令本质上的作用是将当前user和privilige表 ...
- [GO]结构体成员的使用:普通变量
package main import "fmt" func main() { type student struct { id int name string sex byte ...