adb常见命令及日志
一.adb介绍
1.adb(Android Debug Bridge)是android sdk的一个工具
2.adb是用来连接安卓设备和PC端的桥梁,用户可以通过adb在电脑上对手机进行一系列操作
3.具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能
二.adb常见命令
1.adb –help:查看帮助手册;
2.adb devices:检测连接到电脑的安卓设备;
3.adb connect/disconnect ip:port:连接模拟机(夜神模拟器的端口号默认为62001,本地IP为127.0.0.1;(如果连接不上模拟器,可以把夜神模拟器的Nox_adb.exe替换为adb的adb.exe文件。)
4.adb shell:登录设备,进入到Linux命令环境,相当于执行远程命令。ll,ls,cd等命令都可以用;
5.adb pull<手机文件路径><本机路径>:从手机中拉取信息到本地电脑上;
6.adb push<本机文件路径><手机路径>:从本地电脑推送到手机上;
(注意:如果出现read-only file 只读文件,可以输入命令adb root回车再输入命令adb remount回车。如果pull时出现0 files pulled. 0 files skipped 空文件不能pull到本地,可以用touch新建文件,mkdir新建的空目录pull就会出现0 files pulled. 0 files skipped的结果)
7.adb install 文件绝对路径/xxx.apk:为了获取apk的安装包所在地址,可以把apk直接拖到cmd窗口获取,返回success就说明成功了;
8.adb uninstall <文件包名>:卸载;
打开要卸载的软件,输入adb shell dumpsys activity | find “mFocusedActivity”(android7以下),adb shell dumpsys activity | find “mResumedActivity”(Android8以上),查看软件包名,再输入adb uninstall <文件包名>删除软件。

9.终止adb服务:adb kill-server
10.启动adb服务,通常在adb出现问题时,结合kill server命令一起使用:adb start-server
11.启动App:adb shell am start -n 包名/启动入口
12.清除应用的数据和缓存:adb shell pm clear 包名
13.坐标点击:adb shell input tap x轴坐标 y轴坐标
14.adb logcat -v time > <文件路径>:打印日志信息
三.adb日志
1.Android系统提供了记录和查看系统调试信息的功能,日志都是从各种软件和一些系统的缓冲区记录下来的,缓冲区可以通过logcat命令来查看和使用。
使用方式:adb logcat
2.真机的开发者选项里有个选项叫“日志记录器缓冲区大小,默认大小是256K,日志是循环写入环形缓冲区的,通常情况下,写满时最旧的日志会被删除以新的日志内存空间,而模拟机一般没有。
3.日志组成
开始:
(1)写下日志的时间(-v time)
(2)优先级:
1)V:verbose,啰嗦,最低级别;
2)D:debug,调试,较常见;
3)I:info,信息,一般是提示性的;
4)W:warning,警告;
5)E:error,错误
(3)标签:标明日志发起者和方便日志的筛选过滤
(4)PID:进程号
(5)正文,日志的主体内容
4.发生crash,adb logcat 获取日志分析
(1)搜索exception关键字,根据时间,包名定位;
(2)搜索fatal/cause by 关键字;
(3)Force finish关键字
5.ANR(application not responding)
应用无响应,当操作在一段时间内系统无法处理时,系统层面会弹出ANR对话框。为用户在主线程长时间被阻塞时提供处理交互,提高用户体验。是Android系统一种自身检测机制。
(1)logcat日志
通过logcat日志进行分析(关键字搜索exception或anr),格式如下:
Time E/ActivityManager(PID): ANR in <进程名><部件名>
Time E/ActivityManager(PID): PID:<应用进程ID>
Time E/ActivityManager(PID): Reason: <原因提示>
Time E/ActivityManager(PID):
Time E/ActivityManager(PID):<process CPU state>
注意:如果通过搜索anr关键字无具体Java报错信息,可以用以下方法获取日志。

(1)trace文件
通过trace文件进行分析:adb shell登录后cd /data/anr进入anr查看anr具体内容,ctrl+c退出后把trace文件pull到本地。但是trace文件只能保留最后一次发生anr时的trace信息。

(1) Dropbox服务
通过dropbox可以收集系统一段时间内的异常信息,包括anr和crash。adb shell登录后cd /data/system/dropbox进入Dropbox查看具体内容,ctrl+c退出后把整个Dropbox文件pull到本地。如图:

adb常见命令及日志的更多相关文章
- adb常见命令
adb(Android Debug Bridge)主要存放在sdk安装目录下的platform-tools文件夹中,他是一个非常强大的命令行工具.学习adb命令是我在从事兼职测试工作的时候需要掌握 ...
- adb命令 logcat日志抓取
一.logcat抓log方法:adb logcat命令,可以加条件过滤 1.安装SDK(参考android sdk环境安装) 2.使用数据线链接手机,在手机助手的sdcard中建立一个1.log的文件 ...
- ADB常用命令(adb常用命令)
基本用法 命令语法 adb 命令的基本语法如下: adb [-d|-e|-s <serialNumber>] <command> 如果只有一个设备/模拟器连接时,可以省略掉 [ ...
- adb常用命令总结
针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中. And ...
- [Linux基础]Linux基础知识入门及常见命令.
前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1:192.168.40.11Linux ip:192.168 ...
- 54. Android中adb常用命令及应用常用目录
本文主要介绍adb常用命令及应用常用目录.1.adb常用命令adb devices列出所有连接的android设备.以下命令都是对单个devices而言,如果存在多个devices的话,下面的命令都需 ...
- adb logcat 命令
转自:http://blog.csdn.net/tumuzhuanjia/article/details/39555445 1. 解析 adb logcat 的帮助信息 在命令行中输入 adb log ...
- adb shell 命令详解(转)
adb介绍 SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用.通过adb我们可以在Eclipse中方面 ...
- adb调试命令详解-2016.02.01
adb(Android Debug Bridge),调试桥可以让设备的调试监测过程在远端进行,而不必在运行实际运行应用的设备上,方便调试的输出. 1 命令详解 a 查看帮助信息 adb ...
- adb logcat命令查看并过滤android输出log
cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都 ...
随机推荐
- Kubernetes 轻松管理资源
资源管理介绍 在kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理kubernetes. kubernetes的本质上就是一个集群系统,用户可以在集群中部署各种服务,所谓的部署 ...
- Kali Linux 安装教程
Kali Linux 安装教程 下载镜像文件 Kali官网下载 访问Kali官网(https://www.kali.org/ ),根据下图所示进行下载 清华大学开源软件镜像站下载 访问清华大学开源软件 ...
- pip安装MySQLdb报错mysql_config not found
报错EnvironmentError: mysql_config not found解决方法 1.sudo apt-get install python-setuptools 2.sudo apt-g ...
- 2023LN省选游记
前言 CSP第一轮都考完了,我才写这个游记.我真懒惰 书接上回 正文 Day -114514 我也没想到我居然能报省选. 报上了.准备去爆零. Day -114513~Day -1 学习暴力算法以及痛 ...
- Spark SQL (一)
Spark SQL Spark与Hive的比较,Hive用一句话总结是,传入一条交互式sql在海量数据中查找结果,Spark可以将其结果转化成RDD来来进一步操作. 1.0以前: Shark 1.1. ...
- 一种基于虚拟摄像头、NDI、OBS以及yolo的多机视觉目标检测方案
一种基于虚拟摄像头.NDI.OBS以及yolo的多机视觉目标检测方案 绪论 近来为了实现某种实时展示效果,笔者希望通过一套方案实现在两台主机上分别运行仿真平台以及视觉深度学习算法.透过对当下较为流行的 ...
- 百万架构师第四十五课:并发编程的基础|JavaGuide
课程目标 1. 多线程的发展历史 2. 线程的应用 3. 并发编程的基础 4. 线程安全的问题 特定的指令,计算机不会存储指令,把指令写下来,一次性读取指令,批处理. 然后我们需要把批处理进行隔离.保 ...
- libvirt和qga的区别?
本文分享自天翼云开发者社区<libvirt和qga的区别?>,作者:乐道 Libvirt是一个开源项目,提供了一组API.工具.库,用于管理和控制虚拟化平台. 在Openstack环境中, ...
- PostgreSQL configure: error: readline library not found
前言 安装 PostgreSQL 时报错,以下 configure: error: readline library not found If you have readline already in ...
- 1、从DeepSeek API调用到Semantic Kernel集成:深度解析聊天机器人开发全链路
引言:AI时代下的聊天机器人开发范式演进 在生成式AI技术爆发的当下,基于大语言模型(LLM)的聊天机器人开发已形成标准化技术链路.本文将结合DeepSeek API与微软Semantic Kerne ...