Android常用工具之Bugly的使用-飞外

bugly是什么?百度百科上对bugly的介绍总结下来是:腾讯的开放给开发者的一种平台服务,主要用于android和ios平台上的移动应用的crash和卡顿检测和快速定位以及提供解决方案。是免费服务。

而用过的人都知道,除了crash检测外,bugly还提供应用内升级和热修复等功能。

一切以官方文档为准:https://bugly.qq.com/docs/

Q:文档介绍得很详细了,为什么要写这篇文章?

A:这篇文章是对文档的部分内容的归纳,因而更简练。某些操作直接已步骤形式列出,没有多余的解释。仅供记录和之后学习参考使用,毕竟看文档是件麻烦事,记录一下还能提升认识。

-----link start-----

bugly不是一个SDK,而是多个sdk的集合。下面讲述Android平台上异常上报SDK、应用升级SDk的配置使用。

一 异常上报SDK集成

异常上报(bugly:crashreport)SDK:2.6.6更新日志

1.导入到开发环境

AS的开发环境众所周知,有两种方式可以导入包和库。

dependencies { compile 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.2.0}

或者到这里jar包:https://bugly.qq.com/docs/release-notes/release-android-bugly/

需要的权限清单

 uses-permission android: /  uses-permission android: /  uses-permission android: /  uses-permission android: /  uses-permission android: / 

混淆配置

-dontwarn com.tencent.bugly.**-keep public class com.tencent.bugly.**{*;}

从混淆配置可看到,bugly要求keep其包下所有代码,说明bugly已做过混淆

2.代码配置

第一步肯定是要调用类似于某个类的静态初始化方法的。

CrashReport.initCrashReport(getApplicationContext(), "注册时申请的APPID", false);//第三个参数为调试模式开关,开发调试时可为true

初始化代码建议放在Application中。文档建议:为了保证运营数据的准确性,建议不要在异步线程初始化Bugly。

调试模式特点:

输出详细的Bugly SDK的Log;每一条Crash都会被立即上报;自定义日志将会在Logcat中输出。

另外,初始化方法还有一个重载的。

CrashReport.initCrashReport(getApplicationContext());

3.MultiDex注意事项

4.上报进程控制

大概的意思是,如果在Application中直接调用bugly的初始化代码,之后如果有多进程,则每个进程都会上报一些相同的report,为了避免网络资源浪费,最好控制上报的进程仅一个,即主进程。

代码看文档吧

到这儿,基本操作就是这些了。

CrashReport.testJavaCrash();