一箫一剑平生意,负尽狂名十五年。这篇文章主要讲述Crashlytics Android 异常报告统计管理相关的知识,希望能为你提供帮助。
http://www.infoq.com/cn/articles/crashlytics-crash-statistics-tools
简介Crashlytic
成立于2011年,是专门为移动应用开者发提供的保存和分析应用崩溃信息的工具。Crashlytics的使用者包括:支付工具Paypal, 点评应用Yelp, 照片分享应用Path, 团购应用GroupOn等移动应用。
2013年1月,Crashlytics被Twitter收购,成为又一个成功的创业产品。被收购之后,由于没有了创业公司的不稳定因素,我们更有理由使用它来分析应用崩溃信息。
使用Crashlytics的好处有:
1、Crashlytics不会漏掉任何应用崩溃信息。拿我的应用举例来说,在iTunes Connect的后台查看不到任何崩溃信息。但是用户确实会通过微博或者客服电话反馈应用崩溃的情况。而这些在Crashlytics中都可以统计到。如下截图分别显示了我的某应用在苹果iTunes Connect后台和Crashlytics中的差别:
文章图片
文章图片
2、Crashlytics可以象Bug管理工具那样,管理这些崩溃日志。例如:Crashlytics会根据每种类型的Crash的出现频率以及影响的用户量来自动设置优先级。对于每种类型的Crash,Crashlytics除了会像一般的工具提供Call Stack外,还会显示更多相关的有助于诊断的信息例如设备是否越狱,当时的内存量,当时的ios版本等。对于修复掉的Crash日志,可以在Crashlytics的后台将其关掉。下图所示的是一个我的早期应用的崩溃记录,在我修复后,我将其更新为已修复状态。
文章图片
3、Crashlytics可以每天和每周将崩溃信息汇总发到你的邮箱,所有信息一目了然。
下面我就给大家介绍如何使用Crashlytics。
使用介绍 申请帐号
Crashlytics的服务是免费提供的,但是并不能直接注册使用,需要先申请,打开Crashlytic的官网 ,输入自己的邮箱申请使用。如下图所示:
文章图片
【Crashlytics Android 异常报告统计管理】提交完邮箱之后,你的申请会放在Crashlytics的申请队列中,网页跳转到如下界面。在这个界面的右侧,你可以提供更多有效信息来让Crashlytics优先处理你的申请,建议大家都填上更多自己的信息。
文章图片
如果顺利,通常1-2天左右,你就会收到Crashlytics发来的申请通过邮件,如下图所示,通过邮件链接跳转到注册界面,填写密码即可完成注册。
文章图片
设置工程
在使用Crashlytics前需要对原有的XCode工程进行配置,在这一点上,Crashlytics做得比其它任何我见过的SDK提供商都体贴。因为Crashlytics专门做了一个Mac端的App来帮助你进行配置,所以,在配置前你先需要去这里下载该应用。
应用下载后,运行该应用并登录帐号。然后选择应用中的” New App” 按钮,然后选择自己要增加Crashlytics的工程,然后Crashlytics的应用会提示你为工程增加一个Run Script,如果你不知道如何添加,这里有一个帮助的文档。添加好之后的工程截图如下所示
文章图片
接着,Crashlytics的本地应用会提示你将Crashlytics相关的framework拖到工程中。如下所示:
文章图片
按照提示做完之后,就到了最后一步了,在
AppDelegate
的didFinishLaunchingWithOptions
方法中加入如下代码:
1 2 3 4 5 6 |
|
1 |
|
1 2 |
|
文章图片
实现原理和使用体会 实现原理
在原理上,Crashlytics的通过以下2步完成崩溃日志的上传和分析:
- 提供应用SDK,你需要在应用启动时调用其SDK来设置你的应用。SDK会集成到你的应用中,完成Crash信息的收集和上传。
- 修改工程的编译配置,加入一段代码,在你每次工程编译完成后,上传该工程对应的dSYM文件。研究过手工分析Crash日志的同学应该知道,只有通过该文件,才能将Crash日志还原成可读的Call Stack信息。
为了更加方便开发者设置相应的工程,Crashlytics提供了mac端的应用程序,帮助你检测相关工程是否正确设置并且提供相应的帮助信息。后来我还发现,该程序还会自动帮你升级Crashlytics的SDK文件。虽然这一点很体贴,但是我个人觉得还是不太友好。因为毕竟修改SDK会影响应用编译后的内部逻辑,在没有任何通知的情况下升级,我都无法确定Crashlytics有没有干坏事。不过国外的服务,特别是象Twitter这种相对较大知名度公司提供的服务要有节操得多,所以在这一点上我还是比较放心的。
使用Crashlytics可以让你摆脱管理应用崩溃记录的烦恼。并且帮助你找出应用的一些重大隐藏性Bug。例如我之前写的一个应用就过一个缓存过期的问题,只有当缓存过期时才会触发这个Bug,这样的问题在测试人员那边很难触发,因为他们不可能了解你的应用内部实现细节。通过Crashlytics,使我清楚了解到应用Crash的数量和位置,结合自己的开发经验,就很容易找到问题所在了。
值得一提的是,Crashlytics本身的官方文档也非常健全,如果你在使用中遇到任何问题,也可以上去查看详细的文档。
愿Crashlytics能让大家的应用都更加健壮~
- 顶
- 0
- 踩
推荐阅读
- Android 手机卫士--打包生成apk维护到服务器
- Android Studio集成crashlytics后无法编译的问题
- Android studio Github 断开连接
- Android驱动入门-LED--测试APP编写③
- cordova+Android Studio 1.0+ionic+win7(转)
- android项目架构 -----Android 知识体系与常用第三方框架
- 关于android帮助文档打开慢
- ( 转)Android之自定义适配器
- (转)Android之接口回调机制