什么是adb

adb工具即Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互
adb的命令网上介绍非常很多,下面主要讲一下App自动化或性能常用的几个
1、adb help :帮助文档,忘了的命令想看的命令都可通过此命令获取查看
2、adb devices   :查看当前链接的设备,每个设备的设备号是永远不换变的唯一标识
3.1、adb install <apk文件路径> :安装apk文件到手机,附带其他参数
     -r: replace existing application
     -t: allow test packages
     -d: allow version code downgrade (debuggable packages only)
     -p: partial application install (install-multiple only)
     -g: grant all runtime permissions
3.2、adb uninstall <包名>:  卸载某软件 附带参数-k 保留软件的配置和缓存文件
4.1、abd push <电脑路径> <手机路径>:把本机电脑上的文件复制到手机
4.2、adb pull <手机路径> <电脑路径>:把手机上的文件复制到手机
5.1、adb start/kill server :启动/杀死server
5.2、 adb connect/disconnect:通过wifi进行远程连接手机进行调试(需先连上usb模式, 开启远程调试模式:($ adb tcpip 5555) 。Soloπ 自动化测试工具就用到了这句

6、adb logcat :查看log,这个是非常重要的命令,查看崩溃日志定位bug尤其关键

logcat是android用来查看日志的命令行工具(Log Catcher)
打开开发者选项,可以看到有个选项叫做“日志记录器缓冲区大小”,默认是256k

android log系统结构

日志内容: 如下:华为手机的截屏操作,非三指截屏

11-22 13:48:07.252 11374 11374 I GlobalScreenshot:          SaveImageInBackgroundTask.onScreenshotAnimationEnd called 11-22 13:48:07.254 11374 11374 I GlobalScreenshot:          isKnockOrThreeFingerUsed = false
 
1、写下日志时的时间
2、PID(进程ID) 
3、TID(线程ID) 
4、优先级 
5、标签: 标明日志发起者和方便日志的过滤筛选
6、正文, 本日志的主体内容
 

日志的优先级从低到高分以下几种:      Android log.e(),log.d(),log.i()

V—Verbose(啰嗦,最低级别,开发调试中的一些详细信息,仅在开发中使用,不可在发布产品中输出,不是很常见,包含诸如方法名,变量值之类的信息) 
D—Debug(调试,用于调试的信息,可以在发布产品中关闭,比较常见,开发中经常选择输出此种级别的日志,有时在beta版应用中出现) 
I—Info(信息,该等级日志显示运行状态信息,可在产品出现问题时提供帮助,从该级别开始的日志通常包含完整意义的英语语句和调试信息,是最常见的日志级别) 
W—Warning(警告,运行出现异常即将发生错误或表明已发生非致命性错误,该级别日志通常显示出执行过程中的意外情况,例如将try-catch语句块中的异常打印堆栈轨迹之后可输出此种级别日志) 
E—Error(错误,已经出现可影响运行的错误,比如应用crash时输出的日志) 
F—Fatal(严重错误,比error级别更高,目前我只在android系统内核发出的日志中看到此种级别。在Android6.0以前表明开发者认为绝对不应该出现的错误,在此以后一般开发场景下绝不应该输出此种级别的日志) 
S—Silent(寂静,最高级别,没有一条日志会属于这个级别,仅仅作为关闭logcat输出的过滤器参数)
 

缓冲区介绍android log输出量巨大,特别是通信系统的log, 因此,android把log输出到不同的缓冲区中,目前定义了四个log缓冲区:

1)Radio:输出通信系统的log 
2)System:输出系统组件的log 
3)Event:输出event模块的log 
4)Main:所有java层的log,以及不属于上面3层的log 
缓冲区主要给系统组件使用,一般的应用不需要关心,应用的log都输出到main缓冲区中 默认log输出(不指定缓冲区的情况下)是输出System和Main缓冲区的log
 

参数:

输出日志:
adb logcat -v time > crash.log
过滤日志
adb logcat -d *:W > F:\test.txt
 
 
 
 

Android:adb命令详解的更多相关文章

  1. android adb 命令详解

    ADB (Android Debug Bridge)  是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...

  2. Android ADB命令详解

    adb的全称为Android Debug Bridge.是android司机经常用到的工具 . 你能在本篇文章中学到什么? adb基本指令 Shell AM&PM adb模拟用户事件 logc ...

  3. Android ADB命令教程二——ADB命令详解

    Android ADB命令教程二——ADB命令详解 转载▼ 原文链接:http://www.tbk.ren/article/249.html       我们使用 adb -h 来看看,adb命令里面 ...

  4. ADB命令详解及大全( 声明:此文是参考大佬博客所做的笔记!)

    adb是什么? adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具.a ...

  5. android 调试工具ADB命令详解

    adb是什么? adb的全称为Android Debug Bridge,就是起到调试桥的作用. 通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具. ...

  6. ADB命令详解

    一.adb介绍 ADB的全称为Android Debug Bridge,字面意思就是安卓调试桥接,简单点说,它是Android系统提供的一套工具,通过它,我们可以在电脑上建立一个连接到手机的通道,然后 ...

  7. Android logcat命令详解

    一.logcat命令介绍 1.android log系统 2.logcat介绍 logcat是android中的一个命令行工具,可以用于得到程序的log信息 log类是一个日志类,可以在代码中使用lo ...

  8. Android pm 命令详解

    一.pm命令介绍与包名信息查询 1.pm命令介绍 pm工具为包管理(package manager)的简称 可以使用pm工具来执行应用的安装和查询应用宝的信息.系统权限.控制应用 pm工具是Andro ...

  9. 夜神安卓模拟器adb命令详解

    https://www.yeshen.com/faqs/H15tDZ6YW 一.如何找到adb? 安装夜神安卓模拟器后,电脑桌面会有"夜神模拟器"的启动图标,鼠标右键--打开文件所 ...

随机推荐

  1. gcc编译动态链接库

    以下是windows环境下用gcc编译动态链接库的尝试过程. 环境准备 编译使用的MinGW,64位的官网可以找到下载地址. 项目建立及代码编写 在任意地方新建一个目录,保存这个项目,然后新建一个c源 ...

  2. Django学习系列4:编写第一个简单的应用代码

    首页视图编写 lists/tests.py from django.test import TestCasefrom django.urls import resolvefrom lists.view ...

  3. Educational Codeforces Round 77 比赛总结

    比赛情况 我太菜了 A题 加减乘除不会 B题 二元一次方程不会 C题 gcd不会 就会一个D题二分答案大水题,本来想比赛最后一分钟来一个绝杀,结果 Wrong Answer on test 4 比赛总 ...

  4. Codeforces Round #593 (Div. 2) C. Labs

    题目:https://codeforces.com/contest/1236/problem/C 思路:将 n ^ 2 个 lab 平分为 n 个 group group A 和 B 组成的 有序对 ...

  5. Python中绘制箭头

    以两个点为例,其中起点为点(1,2),终点为点(3,4) import matplotlib.pyplot as plt def drawArrow(A,B): fig = plt.figure() ...

  6. idea+maven3.6.1构建maven工程报PKIX:unable to find valid certification path to requested target

    转载于  https://www.cnblogs.com/xiaoping1993/p/9717649.html 注意可能在idea工具执行java命令提示找不到类,返回类的最上层包路径 然后再执行j ...

  7. Linux中profile(转载)

    原文地址:http://www.cnblogs.com/mmfzmd517528/archive/2012/07/05/2577988.html 标黄是个人批注. 环境变量就是一个系统变量,系统配置一 ...

  8. tomcat CATALINA_HOME与CATALINA_BASE的区别

    区别 https://blog.csdn.net/cfydaniel/article/details/41351927 Tomcat启动分析(我们为什么要配置CATALINA_HOME环境变量) ht ...

  9. ArrayList为什么是线程不安全的

    首先需要了解什么是线程安全:线程安全就是说多线程访问同一代码(对象.变量等),不会产生不确定的结果. 既然说ArrayList是线程不安全的,那么在多线程中操作一个ArrayList对象,则会出现不确 ...

  10. 在vue组件中使用vuex的state状态对象的5种方式

    下面是store文件夹下的state.js和index.js内容 //state.js const state = { headerBgOpacity:0, loginStatus:0, count: ...