android 远程拉取日志
APP -- Android日志篇
日志概念
♣ ADT :Android开发工具,在Eclipse上调用各种与Android有关的插件,就要用ADT
♣ SDK:软件开发不见,要用到各种Android平台,好比Android2.3等,便要有SDK
♣ ADB:是用来链接安卓手机和PC端的桥梁,通过ADB服务,在PC端命令行界面对手机或者模拟器进行全面的操作
ADB 常见命令
♣ adb – help 查看帮助手册
♣ adb devices 检测连接到电脑的安卓设备,这个是我们会经常使用的检测命令
♣ adb connect/disconnect ip:端口号,通过WiFi进行远程连接手机进行调试,手机和电脑在连接同一个路由器
♣ adb shell :登录设备shell(命令行的人机界面),Android手机后台就是一个Linux系统 ☟
ll,ls命令可以用查看文件:list – 罗列,ls - l – 属性
cd:进入目录
♣ adb pull:手机文件路径、本机路径,从手机中拉取信息放大本地电脑上
♣ adb push:本机文件路径、手机路径,从本地推送信息到手机上
logcat 日志文件
♣ Android日志系统提供了记录和查看系统调试信息的功能,日志都是从各种软件和一些系统的缓冲区中记录下来,缓冲区可以通过logcat命令查看和室友
♣ 开发者选项,有个选项叫做“日志记录缓冲区大小”,默认是256K,日志是玄幻写入唤醒缓冲区的,在同城情况下,写满是最旧的日志会被删除已给新输出的日志留存空间 – 真机设计,模拟器一般没有
logcat 日志文件分析
日志组成部分
1.写下日志时时间
2.优先级,分为以下几种:
V – Verbose 最低级别,开发面试中的一些详细信息,尽在开发中使用,不可在发布产品中输出
D – Debug 测试,用于测试的信息,可以再发布产品中关闭,比较常见
I – Info 信息,一般提示性的消息
W – Warning 警告
E – Error 错误,已经出现可影响运行的错误,比如应用crash时输出的日志
3.标签(tag),表明日志发起这和方便日志IDE过滤筛选
4.PID (进程ID)
5.正文:本日志的主体内容
发生crash如何分析
♣ 搜索exception关键字,根据时间,包名进行定位
♣ 搜索fatal / caused by 关键字
♣ 搜索force finish
找到对应的日志,铁道bug里,发给开发
发生crash提示:
发生ANR如何分析
1.ANR概念:全名application not responding,应用无响应当操作在一段时间内容系统无法处理时。
♣ 为用户在主线程长时间被阻塞时提供处理交互,提高用户体验
♣ Android系统一种自身检测机制
2.ANR 分析:
♣ 通过logcat日志进行分析:☟
♦ ActivityManager:ANR in [进程名]( [部件名])
♦ ActivityManager:PID: [应用进程ID]
♦ ActivityManager:Reason: [原因提示]
[Process CPU state]
若无具体java报错信息,继续另外一种方式获取日志
♣ 通过Trace文件进行分析:/data/anr/
♦ Dump stack trace 信息
♦ Dump 的进程包括:当前应用进程,父进程,主进程,persistent进程,以及CPU占用率排在前几位的进程(最多5个)
只能记录最后一次发生的anr信息
♣ 通过dropbox可以收集系统一段时间内的一场信息(包括ANR、crash)
♣ /data/system/dropbox 是dropbox 指定文件存放位置
copy from : https://www.csdn.net/gather_22/MtTakg4sMDM1NS1ibG9n.html