一.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. 从源码解析golang Timer定时器体系的来龙去脉

    大家好,我是思无邪,某go中厂开发工程师,也是OSPP2024的学生参与者! 如果你觉得我的文章有帮助,记得三连支持一下哦! 目前正在深入研究源码,与你们一起进步,共同攻克编程难关! 欢迎关注我的公众 ...

  2. angularjs和ajax的结合使用 (四)

    知道的朋友了解 我不是属于讲按部就班技术的那种人.什么xx入门 ,入门到精通,入门到入土. 其实非要严格说的话已经跟angularjs 什么ajax 偏的有点远了,之所以还是叫这个名称,因为都属于we ...

  3. uni-app根据不同的类型绑定不同类名

    <template> <view class="page-demo"> <view class="demo" v-for=&quo ...

  4. Q: 远程ssh登录不上

    1.密码没有问题 .2.防火墙没有禁用端口.3.ssh服务已安装且开启一般是ssh配置文件问题打开ssh配置文件 vim /etc/ssh/sshd_config ################## ...

  5. [BZOJ3514] [Codechef MARCH14] GERALD07加强版 题解

    名字感觉挺奇怪的. 考虑离线算法.首先答案就是用 \(n\) 减去连完边后的生成树森林边数.生成树当然就可以用 \(lct\) 求解了.我是不会告诉你这个时候我已经开始想回滚莫队了的. 考虑当我们倒序 ...

  6. [SDOI2009] 晨跑 题解

    每个点拆成入点和出点. 发现每个点.每条边都只能经过一次,所以所有边的容量都是 \(1\). #include<bits/stdc++.h> #define ll long long us ...

  7. 天线驻波比&回波损耗

    天线驻波比(VSWR)‌,全称为电压驻波比,是衡量天线系统匹配程度的重要参数.它定义为驻波波腹处的电压幅值与波谷处的电压幅值之比.理想情况下,当馈线和天线的阻抗完全匹配时,驻波比为1,表示高频能量全部 ...

  8. warning C291: not every exit path returns a value 在switch分支中使用return

    switch(data)                        {                          case   1:                            ...

  9. 用 Dockerfile 创建镜像的基本步骤有哪些?

    使用 Dockerfile 创建镜像的基本步骤如下: 定义基础镜像 在 Dockerfile 的开头,使用 FROM 指令指定一个基础镜像.例如: FROM ubuntu:latest 这表示基于最新 ...

  10. Maxmspjitter实现实时抓取摄像头画面并制成序列图 (定时抓拍)

    实时监控.拍照.录像外设的影像画面在B站上我已有所总结,见下面的网址. https://www.bilibili.com/read/cv13149329?spm_id_from=333.999.0.0 ...