一些比较实用的 Android adb 命令分享
作者:junjie 发布时间:2023-12-22 12:39:41
下面是一些我找到Android的ADB有用的命令。可以手动或使用自动构建和测试过程。
查看设备
adb devices
如果多个设备连接则使用 use adb -s DEVICE_ID连接到目标设备
安装应用
使用install命令安装一个apk包,如果应用已安装到了该设备,则使用-r重新安装和保持原来的应用数据
adb install -r APK_FILE
#example
adb install -r com.feiliu.wjbd
卸载一个应用
adb uninstall APK_FILE
#example
adb uninstall com.feiliu.wjbd
启动一个页面
adb shell am start PACKAGE_NAME/ACTIVITY_IN_PACKAGE
adb shell am start PACKAGE_NAME/FULLY_QUALIFIED_ACTIVITY
# example
adb shell am start -n com.feiliu.wjbd/.MainActivity
adb shell am start -n com.feiliu.wjbd/com.feiliu.wjbd.MainActivity
进入设备的shell界面
adb shell
截屏
Sergei Shvetsov想出了一个很好方法,获得一个屏幕截图且使用shell screencap通过perl输出到本地目录。具体查看他的博客给出的解释
adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
解屏
这个命令会发送一个解屏事件到锁屏的设备上
adb shell input keyevent 82
日志
命令行显示Log
adb logcat
根据tagname过滤
adb logcat -s TAG_NAME
adb logcat -s TAG_NAME_1 TAG_NAME_2
#example
adb logcat -s TEST
adb logcat -s TEST MYAPP
优先过滤
显示一个特定的优先级警告及以上的日志。
adb logcat "*:PRIORITY"
# example
adb logcat "*:W"
优先级:
V — 细则 (最低优先级)
D — 调试
I — 信息
W — 警告
E — 错误
F — 致命
S — 静默 (最高优先级,不会打印任何信息)
使用grep过滤
这个很像在Linux上使用管道命令一样,需系统支持
adb logcat | grep "SEARCH_TERM"
adb logcat | grep "SEARCH_TERM_1\|SEARCH_TERM_2"
#example
adb logcat | grep "Exception"
adb logcat | grep "Exception\|Error"
清除日志块
使用来清除旧的日志
adb logcat -c


猜你喜欢
- 文件移动是计算机资源管理常用的一个操作,这在操作系统中可以通过文件的剪切与复制或鼠标拖动来实现。但是在Java文件的编程实现中,大多是通过复
- 1.与过滤器filter的区别2.springMVC中 * 的必须实现的三个方法:3. * 类的编写:package com.imooc.
- Android 实现获取手机里面的所有图片详解及实例实现代码:public class MainActivity extends Activ
- C#剪切板Clipboard类我们现在先来看一下官方文档的介绍位于:System.Windows.Forms 命名空间下Provides m
- 有时候我们在阅读PDF文档时会遇到这样一种情况:PDF文档页数比较多,但是又没有书签,所以我们不能根据书签快速了解文档所讲解的内容,也不能点
- 目录多通道分离API操作通道合并API操作结果源码多通道分离APIpublic static void split(Mat m, List&
- 从事过ASP.NET开发的可能都会接触到一些图表控件,比如OWC、ZendGraph等等,这些控件都有一个特点,那就是我们可以像操作.NET
- 前言我们程序员在开发的时候经常会遇到各种各样的 BUG 问题,其中大部分是业务逻辑异常,还有一些是代码书写不规范造成的异常例如:NullPo
- 书上对 i ++ 和 ++ i 的解释如下:int i = 3,a = 0 ;i ++ : 先赋值再运算;例如:a = i ++
- 本文实例讲述了winform中的ListBox和ComboBox绑定数据用法。分享给大家供大家参考。具体实现方法如下:本例实现将集合数据绑定
- 使用WebSocketSharp自定义实现Web服务时,无法解析multipart/form-data请求的数据。通过查找资料,采用以下方式
- 前言开发做得久了,总免不了会遇到各种坑。而在Android开发的路上,『软键盘挡住了输入框』这个坑,可谓是一个旷日持久的巨坑——来来来,我们
- 本文实例讲述了APK程序获取system权限的方法。分享给大家供大家参考。具体如下:最近项目需要,用NDK编程,遇到了些问题,在访问底层的设
- 在项目开发中,我们经常会遇到表中的字段名和表对应实体类的属性名称不一定都是完全相同的情况,下面小编给大家演示一下这种情况下的如何解决字段名与
- 为什么需要组件化小项目是不需要组件化的。当一个项目有数十个人开发,编译项目要花费10分钟,修改一个bug就可能会影响到其他业务,小小的改动就
- 上一篇文章实现了微信登录的移动端功能,下面继续完善功能,实现微信登录服务端功能服务端登录功能实现在以往文章里已经实现了服务端mvc框架,而登
- 这篇文章主要介绍了Java判断用户名和密码过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- shiroapache shiro 是一个轻量级的身份验证与授权框架,与spring security 相比较,简单易用,灵活性高,spri
- Random random = new Random((int)(DateTime.Now.Ticks)); &nbs
- Java是一门面向对象的语言,即一切皆是对象!那么为何数据类型中还分为:基本类型和对象?Java中有8种基本数据类型boolean、byte