V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
drakeet
V2EX  ›  Android

比 Logcat 更加美观易用的异常信息接收器: CrashWoodpecker (类似 LeakCanary 的用法) , 只要一行代码: CrashWoodpecker.fly().to(this);

  •  1
     
  •   drakeet · 2015-09-03 23:12:05 +08:00 · 10565 次点击
    这是一个创建于 3375 天前的主题,其中的信息可能已经有所发展或是发生改变。

    screenshot.png
    因为我的 Android Studio 在使用的过程中, 经常会出现 App 崩溃了, 而 AS 自带的 logcat 并没有搜集到异常信息, 特别烦恼, 怎么折腾怎么重连都不痛快, 特别是对于那种 “启动崩” 的异常, 很难马上捕捉到, 丢失也是经常的.

    所以我做了这么一个库, 仿造 Square 检测并展示内存泄露的 LeakCanary. 当开发过程中, 如果有没有处理的异常导致 crash, 使用了 CrashWoodpecker 以后, 便会起一个新的美观页面, 以很友好的方式即时展示异常信息. 更多内容可以参看一下我写在 GitHub 的文档:

    CrashWoodpecker

    A Uncaught Exception Handler library like as Square ’ s LeakCanary.

    源代码: https://github.com/drakeet/CrashWoodpecker

    Demo apk download: LittleWood.apk

    Getting started

    In your build.gradle:

    dependencies {
      debugCompile 'me.drakeet.library:crashwoodpechker:0.9'
    }
    
    Error: language "gradle" is not supported

    // I will add a releaseCompile to compile do nothing with the same class and package in your release build. Comming soon...

    In your Application class:

    public class ExampleApplication extends Application {
    
      @Override public void onCreate () {
        super.onCreate ();
        CrashWoodpecker.fly ().to (this );
      }
    }
    

    That is all! CrashWoodpecker will automatically show an Activity when your app crash with uncaught exceptions in your debug build.

    第 1 条附言  ·  2015-09-04 17:35:38 +08:00
    注: 这是一个给开发者 开发阶段 使用的便利工具, 而不是要用于 发布 /用户阶段
    第 2 条附言  ·  2015-09-08 13:27:24 +08:00
    最新 0.9.6 修复了之前兼容性的大问题,并且支持所有线程的未捕捉异常的捕捉了。
    11 条回复    2015-09-08 13:26:07 +08:00
    kaedea
        1
    kaedea  
       2015-09-04 02:01:49 +08:00
    沙发
    mthli
        2
    mthli  
       2015-09-04 02:12:14 +08:00 via Android   ❤️ 1
    提个 feature 。发布 release 时自定禁止弹出异常窗口。另外可以搞一个分享操作啥的。
    ljbha007
        3
    ljbha007  
       2015-09-04 08:50:59 +08:00   ❤️ 1
    logcat 里不要加过滤器就能看到那种启动崩的日志了
    开发机器尽量少装软件 以免不必要的日志太多
    dast
        4
    dast  
       2015-09-04 09:43:41 +08:00   ❤️ 1
    这个世界真小, 2 天前从 follow 的好友 star 里看到了这项目,今天居然在 v2 上也看到
    sjn9588
        5
    sjn9588  
       2015-09-04 11:10:19 +08:00
    非常不错。可是觉得 logcat 够用了。
    drakeet
        6
    drakeet  
    OP
       2015-09-04 17:33:50 +08:00
    @sjn9588 当你觉得不够用或者受不了它的时候...
    sonaive
        7
    sonaive  
       2015-09-04 19:00:10 +08:00 via Android   ❤️ 1
    好评。楼主很棒。
    kaedea
        8
    kaedea  
       2015-09-05 00:41:04 +08:00
    @sjn9588 Logcat 有个很好的替代品 Logger ,但是我自己有个更好的,支持把 Log 内容保存到本地。
    一直想开源出来,但是名字一直没想好,现在是叫 MLog ,但是我感觉不够高大上啊,想改成 SmartLog 之类的,但是又感觉太长了……
    jiaxin1121
        9
    jiaxin1121  
       2015-09-06 10:08:42 +08:00
    这个是锤子么
    sjn9588
        10
    sjn9588  
       2015-09-07 11:39:37 +08:00
    @kaedea MLog 是取得什么意思。 SmartLog 我觉得不错啊。不是很长,而且看起来比较舒服,可能习惯变量命名了。
    drakeet
        11
    drakeet  
    OP
       2015-09-08 13:26:07 +08:00
    @jiaxin1121 是啊,锤子 Smartisan T1 白色版,不过我不是锤子手机,只是使用了锤子的壳子截图
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2533 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:55 · PVG 12:55 · LAX 20:55 · JFK 23:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.