ADB高级应用
ADB高级应用
一、利用无线来查看adb shell
二、模拟按键
三、adb shell下查看系统盘符
四、adb shell下挂载系统
五、adb shell 下移除USB设备
六、adb shell 下查看内核信息
七、查看build配置的值(以heap为例)
八、通过sendevent
模拟按键以及鼠标
九、查看屏幕显示的fps
然后直接logcat -s SurfaceFlinger -v time
(看SurfaceFlinger里面打印出来时多少)
十、查看当前执行程序栈
十一、查看当前设备DDR执行频率
十二:ADB logcat过滤
adb logcat -s TAG_NAME_1 TAG_NAME_2
adb logcat -s TAG_NAME_1:PRIORITY_1 TAG_NAME_2:PRIORITY
V – Verbose
D – Debug
I – Info
W – Warning
E – Error
F – Fatal
S – Silent
十三:查看设备是否拥有su权限(4.2及之前版本号)
> adb shell
> ps
# 会列出系统进程
# 选一个u开头的 表示普通程序
> su u0_a8
#切换到u0_a8下 #号变 >
> su
#假设能够运行。>号为#号,则表示有su权限,假设提示权限问题。就没有su权限
十四:查看应用引用
十五:获取执行内存/CPU信息
十六:抓取Logcat信息及kmsg信息
>/data/kmsg.txt &
# logcat -v time >/data/logcat.txt &
十七:查看Android(手机\平板\开发板等)设备信息
> adb shell dumpsys package > package.xml
(此命令可显示手机(平板)可供应用查询到的library和feature)
十八、输出全部已经安装的应用
> adb shell pm list packages -f
十九、查看预安apk
二十:清除logcat缓冲区
(用这个命令来清除一些反复出现的过时的日志)
> adb logcat -c
二十一、眼下觉得最牛的adb命令:截取屏幕图片
截图直接保存到电脑
$ adb shell screencap -p | sed 's/\r$//' > screen.png
运行adb shell 将\n转换\r\n, 因此须要用sed删除多余的\r
假设直接当命令用还能够用 alias 包裝装起來
$ alias and-screencap="adb shell screencap -p | sed 's/\r$//'"
$ and-screencap > screen.png
以后就能够方便的用and-screencap > 直接将截图保存到电脑上了
其它入门级但也比較常见的adb命令
1、查看全部已经连接上的设备
adb devices
-s DEVICE_ID 来指定用哪一个
2、挂载system分区(当然须要设备支持)
3、安装与卸载应用
adb install -r <apk文件路径> 通过install命令来安装apk文件,-r參数能够又一次安装某个应用并保留应用数据
#举例
adb install -r ~/chrome.apk
卸载应用:
adb uninstall <软件名>
<软件名> 假设加 -k 參数,为卸载软件可是保留配置和缓存文件
#举例
adb uninstall com.android.chrome
4、启动一个Activity
adb shell am start 包名/类的全名
5、登录设备shell
adb shell --这个命令将登录设备的shell.
adb shell <command命令> 后面加<command命令>将是直接执行设备命令, 相当于执行远程命令
6. 从电脑上发送文件到设备
--用push命令能够把本机电脑上的文件或者目录拷贝到设备(手机)
adb remount ## remount '/system'分区 as read-write
adb push <本地路径> <远程路径>
7. 从设备上下载文件到电脑
--用pull命令能够把设备(手机)上的文件或者目录拷贝到本机电脑
adb pull <远程路径> <本地路径>
8. 显示帮助信息(包含各种命令使用方法与含义)
adb help
如: adb shell sendevent /dev/input/event0 1 229 1 代表按下按下menu键
adb shell sendevent /dev/input/event0 1 229 0 代表按下松开menu键
说明:上述的命令需组合使用
另外所知道的命令例如以下:
Key Name CODE
MENU 229
HOME 102
BACK (back button) 158
CALL (call button) 231
END (end call button) 107
2. 发送鼠标事件(Touch):
命令格式:adb shell sendevent [device] [type] [code] [value]
情况1:在某坐标点上touch
如在屏幕的x坐标为40,y坐标为210的点上touch一下,命令例如以下
adb shell sendevent /dev/input/event0 3 0 40
adb shell sendevent /dev/input/event0 3 1 210
adb shell sendevent /dev/input/event0 1 330 1 //touch
adb shell sendevent /dev/input/event0 0 0 0 //it must have
adb shell sendevent /dev/input/event0 1 330 0 //untouch
adb shell sendevent /dev/input/event0 0 0 0 //it must have
注:以上六组命令必须配合使用,缺一不可
情况2:模拟滑动轨迹(可下载并採用aPaint软件进行试验)
例如以下例是在aPaint软件上画出一条開始于(100,200),止于(108,200)的水平直线
adb shell sendevent /dev/input/event0 3 0 100 //start from point (100,200)
adb shell sendevent /dev/input/event0 3 1 200
adb shell sendevent /dev/input/event0 1 330 1 //touch
adb shell sendevent /dev/input/event0 0 0 0
adb shell sendevent /dev/input/event0 3 0 101 //step to point (101,200)
adb shell sendevent /dev/input/event0 0 0 0
…………………… //must list each step, here just skip
adb shell sendevent /dev/input/event0 3 0 108 //end point(108,200)
adb shell sendevent /dev/input/event0 0 0 0
adb shell sendevent /dev/input/event0 1 330 0 //untouch
adb shell sendevent /dev/input/event0 0 0 0
调试注意事项
当调试那些使用了USB外设和主机特性的应用时,你非常有可能把你的USB硬件连接到你的Android设备上。这将阻止你通过USB建立adb到Android设备的连接。
你通过网络仍能够訪问adb。
通过网络连接adb:
- 通过USB将Android设备连接到电脑。
- 从SDK 的 platform-tools 文件夹,在命令行输入adb tcpip 5555
- 输入:adb connect <设备的IP地址>:5555 。你如今将被连接到Android设备并能像adb logcat一样发出通用的adb命令。
- 要设置你的设备监听USB,输入adb usb 。
ADB高级应用的更多相关文章
- ADB 高级应用
一.利用无线来查看adb shell > adb tcpip 5555 连接: > adb connect IP:5555 见后文<调试注意事项> 二.模拟按键 ...
- Android 工具-adb
Android 工具-adb 版权声明:本文为博主原创文章,未经博主允许不得转载. Android 开发中, adb 是开发者经常使用的工具,是 Android 开发者必须掌握的. Android D ...
- Monkey的ADB命令简单使用示例和解析
进行简单的压力测试: 1. adb shell monkey –p 包名 –v-v 3000 >E:\bugLog.txt -v -v 标识打印的日志的详细级别为2级,更高级有3级,也可以用1级 ...
- ADB简单基础命令
1.查看设备 adb devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 2.安装软件 adb install adb install :这个命令将 ...
- 【转】如何配置android的adb环境变量
转载地址:http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html 对于android的开发人员来说,首先要做的就是环境变量的配置. ...
- Android的ADB配置环境和adb指令使用
adb的全称为Android Debug Bridge,就是起到调试桥的作用,作为一名开发者倒是常用到这个工具.借助adb工具,我们可以管理设备或手机模拟器的状态.还可以进行很多手机操作,如安装软件. ...
- Android开发常见问题系列之一:eclipse中adb.exe启动失败或者无法启动
这种情况下大多数是因为存在kadb.exe在执行,或者adb.exe端口被占用. 1,检查是否存在kadb.exe程序正在执行 打开任务管理器,打开详细信息,按照字母顺序找到kadb.exe,结束进程 ...
- ADB指令
对于ADB指令的应用,首先应该配置环境,将文件所在路径复制到高级系统设置里面的环境变量path,然后就可以在命令符上进行ADB的指示 例如adb kill-server是关掉活动 adb start- ...
- Android 用adb pull或push 拷贝手机文件到到电脑上,拷贝手机数据库到电脑上,拷贝电脑数据库到手机上
先说一下adb命令配置,如果遇到adb不是内部或外部命令,也不是可运行的程序或批量文件.配置下环境变量 1.adb不是内部或外部命令,也不是可运行的程序或批量文件. 解决办法:在我的电脑-属性-高级计 ...
随机推荐
- bzoj1005: [HNOI2008]明明的烦恼(prufer+高精度)
1005: [HNOI2008]明明的烦恼 题目:传送门 题解: 毒瘤题啊天~ 其实思考的过程还是比较简单的... 首先当然还是要了解好prufer序列的基本性质啦 那么和1211大体一致,主要还是利 ...
- 前端到后台ThinkPHP开发整站--php开发案例
前端到后台ThinkPHP开发整站--php开发案例 总结 还是需要做几个案例,一天一个为佳,那样才能做得快. 从需求分析着手,任务体系要构建好,这样才能非常高效. 转自: 前端到后台ThinkPHP ...
- Python 中的 None 与真假
Python 中 0 为假,大小为 0 的容器也定义为假: 空字符串与空的列表也为假: None 可作为一个对象,该对象的类型为:NoneTye None 表示的含义,更多的是一种不存在,是真正的空, ...
- isInstanceOf,asInstanceOf,classOf[T]
一.scala中把classOf[T]看成Java里的T.class, obj.isInstanceOf[T]看成 obj instanceof T, obj.asInstanceOf[T]看成(T) ...
- POJ 3670 DP LIS?
权值为1~3 好了 此题是水题-- i表示到了第i个数,j表示结尾的数是j f[i][j]=min(f[i][j],f[i-1][k]+(a[i]!=j)) 1<=k<=j 最长上升的. ...
- UVa 1001 Say Cheese【floyd】
题意:在一个三维的奶酪里面有n(n<=100)个洞,老鼠A想到达老鼠B的位置, 在洞里面可以瞬间移动,在洞外面的移动速度为10秒一个单位,求最短时间 看到n<=100,又是求最短时间,想到 ...
- caffe for python (官方翻译)
导言 本教程中,我们将会利用Caffe官方提供的深度模型——CaffeNet(该模型是基于Krizhevsky等人的模型的)来演示图像识别与分类.我们将分别用CPU和GPU来进行演示,并对比其性能.然 ...
- 第一章、zabbix安装
前言: 注意:本文不涉及性能测试.性能优化中的监控,所有文字的出发点都是日常运维监控. 在开始之前,我们还是先统一下认识:要监控一个对象,需要掌握哪些东西呢? 监控对象的理解:要监控的对象你是否了解呢 ...
- Spring Cloud分布式Session共享实践
通常情况下,Tomcat.Jetty等Servlet容器,会默认将Session保存在内存中.如果是单个服务器实例的应用,将Session保存在服务器内存中是一个非常好的方案.但是这种方案有一个缺点, ...
- myeclipse2013 jsp编辑初始化
首先,大家可能有过这种经历.双击打开jsp编辑.它默认会打开视图,这样就使人恼火了,卡死了.所以我们能够自己设jsp的默认打开方式:打开Window-->preferences得: 搜索edit ...