一.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常见命令及日志的更多相关文章

  1. adb常见命令

    adb(Android  Debug  Bridge)主要存放在sdk安装目录下的platform-tools文件夹中,他是一个非常强大的命令行工具.学习adb命令是我在从事兼职测试工作的时候需要掌握 ...

  2. adb命令 logcat日志抓取

    一.logcat抓log方法:adb logcat命令,可以加条件过滤 1.安装SDK(参考android sdk环境安装) 2.使用数据线链接手机,在手机助手的sdcard中建立一个1.log的文件 ...

  3. ADB常用命令(adb常用命令)

    基本用法 命令语法 adb 命令的基本语法如下: adb [-d|-e|-s <serialNumber>] <command> 如果只有一个设备/模拟器连接时,可以省略掉 [ ...

  4. adb常用命令总结

    针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中. And ...

  5. [Linux基础]Linux基础知识入门及常见命令.

    前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1:192.168.40.11Linux ip:192.168 ...

  6. 54. Android中adb常用命令及应用常用目录

    本文主要介绍adb常用命令及应用常用目录.1.adb常用命令adb devices列出所有连接的android设备.以下命令都是对单个devices而言,如果存在多个devices的话,下面的命令都需 ...

  7. adb logcat 命令

    转自:http://blog.csdn.net/tumuzhuanjia/article/details/39555445 1. 解析 adb logcat 的帮助信息 在命令行中输入 adb log ...

  8. adb shell 命令详解(转)

    adb介绍 SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用.通过adb我们可以在Eclipse中方面 ...

  9. adb调试命令详解-2016.02.01

    adb(Android Debug Bridge),调试桥可以让设备的调试监测过程在远端进行,而不必在运行实际运行应用的设备上,方便调试的输出. 1 命令详解 a 查看帮助信息         adb ...

  10. adb logcat命令查看并过滤android输出log

    cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都 ...

随机推荐

  1. HTTPS 证书自动化运维:基础知识与重要性

    简介: 随着互联网的飞速发展和网络安全威胁的日益增多,HTTPS(HyperText Transfer Protocol Secure)已经成为保护网站和用户数据安全的标准协议.HTTPS 证书的管理 ...

  2. 深入剖析Base64加解密中遇到的坑点

    前言 最近开发过程中遇到了关于使用base64加密传输遇到的神奇问题.需求就是用户的id在链接上露出时需要加密处理,于是后端把下发的用户id改成了base64加密处理后下发了,前端只需要把加密后的用户 ...

  3. IDEA中使用Yapi上传接口

    一.Idea下载插件YapiUpload 二.修改该项目的隐藏文件夹idea .idea文件下修改misc.xml增加如下配置  <component name="yapi" ...

  4. C# 深度学习:对抗生成网络(GAN)训练头像生成模型

    通过生成对抗网络(GAN)训练和生成头像 目录 通过生成对抗网络(GAN)训练和生成头像 说明 简介 什么是 GAN 什么是 DCGAN 参数说明 数据集处理 权重初始化 生成器 判别器 损失函数和优 ...

  5. android无障碍开发 企业微信 机器人

    实现 Android 无障碍开发 企业微信 机器人 作为一名新入行的开发者,你可能对如何开发一个支持企业微信的无障碍机器人感到迷茫.在这篇文章中,我将为你详细讲解实现这一功能的流程和代码示例. 流程概 ...

  6. SpringBoot 自动代码生成三层

      前言 虽然mybatis已经有了代码生成,但是对于SpringBoot 项目来说生成的还是需要改动,而且也没得逻辑层,和控制层.但是这些东西是逃避不了,所以我就针对单表,做了一个代码生成器. my ...

  7. Mysql创建数据库字符集的选择

    字符集选择: 在国内正常都是用[UTF-8] 排序选择:排序一般分为两种:utf_bin和utf_general_cibin 是二进制, a 和 A 会别区别对待. utf8_general_ci [ ...

  8. Typescript通用帮助类,格式化日期时间等

    /** * 格式化日期选项 */ export class DateFormatOption { "M+": number;//月 "d+": number;/ ...

  9. Typecho评论框加入七彩打字动画

    最终效果 使用步骤 对于 本主题,依次进入 控制台 - 外观 - 设置外观 - 主题自定义扩展,将以下代码加入到 自定义 HTML 元素拓展 - 在 body 标签结束前.其他主题,加入到主题对应的 ...

  10. SpringCloud - [01] SpringCloud概述

    题记部分 001 || 微服务概述 002 || 微服务技术栈 微服务条目 落地技术 服务开发 Spring.SpringMVC.SpringBoot 服务配置与管理 Netflix公司的Archai ...