APP日志分析

一、如何使用电脑连接夜神模拟器(手机    )

(1)adb devices  连接设备 

        语法: adb devices

(2)打开模拟器的关于手机→点击多次版本号→处于开发模式→返回上一级→点击开发者模式→点击usb调试模式


(3)如果adb devices 没有出现 127.0.0.1:62001的话 ,默认为是没有连接设备,请连接设备。

         语法: adb conect 127.0.0.1:62001

(4)连接完成后,再次输入 adb  devices ,跟(1)一致,就表示连接成功了,然后可以操作了。


二、ADT、SDK、ADB——概念补充

    (1)ADT(Android development tools) ——Android开发工具。在Eclipse上调用各种与Android有关的插件,便于ADT

    (2)SDK(software development kit)——软件开发部件。要用到各种Android平台,好比Android2.3等,便要有SDK

    (3)ADB(重点)(Android debug bride)——是用来连接安卓手机和PC端的桥梁,通过adb服务,在pc端命令行界面对手机或模拟器进行全面的操作

三、ADB常用命令

    (1)adb --help  查看帮助手册

    (2)adb devices  检测连接到电脑的安卓设备,这个是会经常用到的检测命令


    (3)adb connect / disconnect    iP:端口号,通过wifi进行远程连接手机进行调试,手机和电脑在连接同一个路由器

    (4)adb  shell ——登录设备shell(命令行的人机界面),跟linux的命令行界面类似,相当于远程操作命令


    (5)adb  pull(理解为下载) ——<手机文件路径> <真机路径> ——从Android手机拉取到本机电脑中


    (6)adb push(理解为上传)—— <真机路径> <手机文件路径> ——从本地电脑中推送(发送)到手机中

    (7)adb install 包名.apk——为了获取apk的安装包所在地址,可以直接把apk拖到cmd的窗口获取,返回Success说明安装成功了。


    (8)adb uninstall 应用包名 ——卸载应用包名 (注意:安装的包名和应用包名不一致)

            获取应用包名第一种方法:进入 /data/data/目录查看应用包名    

             获取应用包名第二种方法:就是(9),打开安装的app,然后输入(9)的命令。       


    (9)adb shell dumpsys activity | find "mFocusedActivity"  ——查看前台应用包名


    (10)adb logcat ——打印log日志信息 

三、logcat——日志文件    

(1)Android日志系统提供了记录和查看系统调试信息的功能,日志都是从各种软件和一些系统的缓冲区记录下来的,缓冲区可以通过logcat命令来查看和使用

(2)使用方法: adb  logcat  [ 选项参数 ]   [ <fiter-spec> ]


(3)开发者选项。有个选项叫做"日志记录器缓冲区大小",默认是256K,日志是循环写入环形缓冲区 的,在通常情况下,写满时最旧的日志会被删除以新输出的日志留内存空间——真机设置,模拟器一般没有

四、logcat日志文件分析


    (1)由五部分组成: 1.写下日志时的时间,如图中12-12 01:00:57.857

    (2)2.优先级,在Android中,日志的优先级从低到高分以下几种

            ---V ——Verbose(啰嗦,最低级别,开发调试中的一些详细信息,仅在开发中使用,不可以发布产品输出)

            ---D ——Debug(调试,用于调试的信息,可以在发布产品关闭,比较常见)

            ---I ——Info (信息,一般提示性的信息)

            ---W ——warning (警告)

            ---E ——error(错误,已经出现可影响运行的错误,比如应用crash时输出的日志)

    (3)标签(tag),标明日志发起者和方便日志的过滤筛选,如上中ActivityManger。类和模块

    (4)Pid(进行PID)

    (5)正文,本日志的主体内容

    五、演示如何日志定位,抓取错误

    (1)遇到crash发生的错误,立马输入 adb logcat -v time > 保存的文件路径

    (2)然后根据报错关键字(exception)和报错时间和来定位错误所在的位置


    (3)搜索fatal /caused by 关键字

    (5)搜索 Force Finishing 关键字

六、何为ANR?

    (1)ANR全名(APPlication Not Responding),也就是应用无响应当操作一段时间内系统无法处理时,系统层面会弹出以下图的ANR对话窗口


    (2)为用户在主线程长时间被阻塞时提供处理交互,提高用户体验

    (3)Android系统一种自身检测机制

    (4)遇到anr这种问题,不是要提交bug,而是要建议开发人员优化这个问题

七、演示anr报错/日志定位

    (1)发现异常bug立马保存日志

    (2)根据关键字(Anr)和日志时间 来定位日志错误     (但是并不是想要的结果,不存在java,at的错误)


    (3)系统在anr发生时,会通过三种方式保存记录信息

              ① ---Logcat日志 ——以上都是logcat)

              ②---Trace文件 ——通过  /data / anr/ traces.txt 来分析

                                    ——Dump stack trace 信息

                                    ——Dump 的进程包括:当前应用进程,父进程,主进程,persistent进程,以及cpu占用率排在前几位的(最多五个)进程 

                                    ——ps:(只能记录最后一次发生的anr信息,很容易被替换掉)

                                    ——操作方法:(文件在 系统的 /data /anr / 目录中)

                                    ——操作方法:进入对应目录,并且吧traces.文件 下载到本地

              ③---DropBox服务 

                    ——data/ anr / traces.txt 文件里面只能保存最后一次发生anr的traces信息   

                    ——通过dropbox可以收集系统一段时间内的异常信息(anr,crash)

                    ——/data / system / dropbox 是dropbox 指定的文件存放位置


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,612评论 5 471
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,345评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,625评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,022评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,974评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,227评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,688评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,358评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,490评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,402评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,446评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,126评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,721评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,802评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,013评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,504评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,080评论 2 341

推荐阅读更多精彩内容

  • Android 调试桥 Android 调试桥 (adb) 是一个通用命令行工具,其允许您与模拟器实例或连接的 A...
    guanjm阅读 1,441评论 0 1
  • ADB介绍,它的主要功能有: ADB全称Android Debug Bridge, 是android sdk里的一...
    测试开发阅读 412评论 0 1
  • App测试关注点:ANR、APM ANR 一、ANR是什么 ANR(Application Not Respond...
    johnny_zhao阅读 1,309评论 0 0
  • 一、问:app测试与web测试的区别 参考答案: 1)、系统架构:web端的服务器更新后,客户端会自动同步更新;如...
    rilakkumaboy阅读 1,075评论 0 17
  • 早起,过去七天中星期天5点18分最早,星期五是5点59分最晚,平均每天5点29分起床,现在已经做到自然醒,但这几天...
    何林灿阅读 120评论 0 0