Android常用工具之Bugly的使用

摘要:
使用过它的人都知道,除了崩溃检测之外,bugly还提供了应用程序内升级和热修复等功能-----Linkstart----bugly不是一个SDK,而是多个SDK的集合。以下描述了Android平台上异常报告SDK和应用程序升级SDK的配置和使用--配置APP频道号--˃˂meta dataandroid:name=“BUGLY_APP_channel”Android:value=“”/˃˂meta data Android:name=“BUGLY_ENABLE_debug”Android:value=“”/˃3。MultiDex预防措施4。报告进程控制的一般含义是,如果在应用程序中直接调用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:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_LOGS" />

  混淆配置

-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());

如果用这个方法,那么像APPID,调试开关等配置就需要放在其他地方了。

<application
    <!-- 配置APP ID -->
    <meta-data
            android:name="BUGLY_APPID"
            android:value="<APP_ID>" />
    <!-- 配置APP版本号 -->
    <meta-data
            android:name="BUGLY_APP_VERSION"
            android:value="<APP_Version>" />
    <!-- 配置APP渠道号 -->
    <meta-data
            android:name="BUGLY_APP_CHANNEL"
            android:value="<APP_Channel>" />
    <!-- 配置Bugly调试模式(true或者false)-->
    <meta-data
            android:name="BUGLY_ENABLE_DEBUG"
            android:value="<isDebug>" />
</application>

3.MultiDex注意事项

Android常用工具之Bugly的使用第1张

4.上报进程控制

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

代码看文档吧

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

CrashReport.testJavaCrash();

这行代码会制造一个运行时异常,可以作为测试用。

二  应用升级SDK

官方指南

----logout---

免责声明:文章转载自《Android常用工具之Bugly的使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Sql Server 2008 增加字段、修改字段、修改类型、修改默认值css中height 100vh的应用场景,动态高度百分比布局,浏览器视区大小单位下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

centos安装软件方式及命令

centos安装软件有三种方式 rpm指令, 该指令安装文件后缀.rpm的可执行程序 yum指令 安装软件源代码,后缀为 .tar.gz(用gzip压缩过的tar包) rpm rpm软件包格式为 (一)查询系统装已经安装的软件信息 1) 查询系统中已经安装的软件; rpm –qa 2)查询一个已经安装的文件属于那个软件包; rpm –qf 文件名的...

[Java] SpringMVC工作原理之一:DispatcherServlet

一、DispatcherServlet 处理流程 在整个 Spring MVC 框架中,DispatcherServlet 处于核心位置,它负责协调和组织不同组件完成请求处理并返回响应工作。在看 DispatcherServlet 类之前,我们先来看一下请求处理的大致流程: Tomcat 启动,对 DispatcherServlet 进行实例化,然后调用...

Android之静态和动态加载Fragment

一、fragment的静态加载和动态加载的理解: 我觉得可以把fragment当做为一个自定义的布局,然后去使用这个定义好的布局,对于静态和动态的理解是,静态是讲在主布局文件中放入fragment布局,然后使用,而动态是不需要在主布局文件中去声明fragment的,而是直接在java代码中去添加。 二、通过一个例子来理解: 说明下下面的图:第一个为主界面,...

请求响应,session,闪现

请求相关 # 请求相关信息 # request.method # request.args # request.form # request.values # request.cookies # request.headers # reques...

java爬虫(四)利用Jsoup获取需要登陆的网站中的内容(无验证码的登录)

一、实现原理 登录之后进行数据分析,精确抓取数据。根据上篇文章的代码,我们不仅获取了cookies,还获取了登录之后返回的网页源码,此时有如下几种种情况:(1)若我们所需的数据就在登录之后返回的源码里面,那么我们就可以直接通过Jsoup去解析源码了,然后利用Jsoup的选择器功能去筛选出我们需要的信息;(2)若需要的数据是需要通过请求源码里的链接得到,那么...

2017.1.24学习记录

---恢复内容开始--- 一: 安装openjtag驱动,usb串口驱动,安装oflash,recureCRT软件。 二: 2.1 通过openjtag通过cmd.exe烧写bin文件,通过jlink烧写bin文件。烧写u-boot.bin 小心:用nandflash烧写时选块0 2.2 注意nand flash(openjtag)与nor flash(j...