首先咱们先来看两个图,在我的app发生崩溃,app重启之后,我们会收到邮件提醒.点进去查看bug详情

怎么样,机型,错误日志,运行截图统统都有了,瞬间感觉自己萌萌哒啊

ok,那就简单说一下集成步骤吧

想使用这个SDk肯定也是需要注册,注册链接https://www.bugtags.com/

注册好账户之后,我们可以创建一个应用,名字随意,系统选择android

完成之后,我们就拿到了app_key,和app_secret

打开Android Studio,创建一个新的项目

在项目的build.gradle文件中修改成

buildscript {repositories {jcenter()mavenCentral()}dependencies {classpath 'com.android.tools.build:gradle:2.0.0-beta6'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle filesclasspath 'com.bugtags.library:bugtags-gradle:latest.integration'}
}allprojects {repositories {jcenter()mavenCentral()}
}

然后在我们的app里面的build.gradle文件中添加依赖和插件

apply plugin: 'com.bugtags.library.plugin'//mapping upload
bugtags {appKey 'APP_KEY'  //your appKeyappSecret 'APP_SECRET'    //your appSecret,admin can access in setting page
}dependencies {compile 'com.bugtags.library:bugtags-lib:latest.integration'
}

一般写程序都会抽象出来一个BaseActivity 用来比较方便的管理所有的Activity,这次也不例外,编辑我们的BaseActivity添加几个回调(或者在所有的activity中添加这些回调)

 @Overrideprotected void onResume() {super.onResume();//callback 1Bugtags.onResume(this);}@Overrideprotected void onPause() {super.onPause();//callback 2Bugtags.onPause(this);}@Overridepublic boolean dispatchTouchEvent(MotionEvent event) {//callback 3Bugtags.onDispatchTouchEvent(this, event);return super.dispatchTouchEvent(event);}

创建一个Application类,进行Sdk的初始化(最后不要忘记在配置文件中注册该类)

public class MyApp extends Application {@Overridepublic void onCreate() {super.onCreate();initSdk();}private void initSdk() {BugtagsOptions.Builder builder = new BugtagsOptions.Builder();builder.trackingCrashLog(true);builder.trackingConsoleLog(true);
//      Bugtags.BTGInvocationEventBubble,在app中显示圆形小球
//      Bugtags.BTGInvocationEventNone,在app中不显示圆形小球
//      Bugtags.BTGInvocationEventShake,通过摇一摇让圆形小球显示出来
//      Bugtags.start("2d2314cb6ead8eea5647644da412fd5d", this, Bugtags.BTGInvocationEventNone);//这样在联机debug中不会上报异常Bugtags.start("2d2314cb6ead8eea5647644da412fd5d", this, Bugtags.BTGInvocationEventNone, builder.build());//联机debug中上报异常}
}

初始化的时候就有点讲究了,第一个参数是我们的app_key,第二个参数当前的application了,第三个参数是我们决定bugtags的行为是直接显示在app上呢,还是隐藏,亦或着通过摇一摇显示出小圆球界面呢,第三个参数定义我们sdk具体的行为,是否捕获日志什么,位置什么的

关于第四个参数比较有意思的一点是,当我们不去定义他的时候,如果我们的程序是debug编译的.那么崩溃之后他不会上传崩溃信息,如果要在debug下也是要捕获异常的.就要像我上面那样做一样

最后,最重要的一点是不要忘记给我们的app添加访问网络的权限,不然就算捕获到了异常日志也是不能提交上来的

sdk github地址https://github.com/bugtags/Bugtags-Android

源码地址:https://github.com/imgod1/BugTagsTest

BugTags 让Bug无所遁形,记录集成BugTags之路相关推荐

  1. ML之回归预测:利用十(xgboost,10-1)种机器学习算法对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值——bug调试记录

    ML之回归预测:利用十(xgboost,10-1)种机器学习算法对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值--bug调试记录 目录 输出结果 1.增加XGBR算法 ...

  2. 软件测试bug文档模板,软件bug测试记录模板

    软件bug测试记录模板 XXX软件bug测试记录表 文档编号: 背景信息 项目名称 测试目的 硬件环境 软件环境 测试时间 测试人员 测试说明 1.严重等级: A-Crash(崩溃的):由于程序所引起 ...

  3. 多线程bug处理记录

    原创:多线程bug处理记录 多线程bug处理记录 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Thread(target=func02) while True:dataA= ...

  4. 基于FPGA的FOC电流采样Bug调试记录

    #基于FPGA的FOC电流采样Bug调试记录 博主在调试FOC闭环控制中遇到了一个bug,冥思苦想两三天,最终一步步地调试时序,最终找到了bug,在调试过程中学会了debug的思想,也明白了调试过程中 ...

  5. 【vue-seamless-scroll bug问题记录以及解决】

    vue-seamless-scroll bug问题记录以及解决 vue-seamless-scroll 的使用方式,请查看网站链接: 组件官方示例. 问题1:无法自动滚动 解决方案: ①排查limit ...

  6. 大三学生-记录逆袭之路

    @大三学生-记录逆袭之路 改走技术方向(前言) 俺目前大三,是一个普通一本高校的学生,信管专业.大一大二的时候因为惧怕打代码,在大创团队中做产品的设计和需求分析做的还可以,本来想走产品路线. 不过跟毕 ...

  7. openmv 神经网络 超出内存_【openmv】openmv各种bug问题记录

    一 已解决的bug (一)python语言使用错误 1.for循环后未加冒号/def 函数后未加冒号/缩进不对 SyntaxError: invalid syntax 例子: def callback ...

  8. 一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?

    一条Bug记录最基本应包含: bug编号: bug严重级别,优先级: bug产生的模块: 首先要有bug摘要,阐述bug大体的内容: bug对应的版本: bug详细现象描述,包括一些截图.录像-等等: ...

  9. 【Bug解决记录】类文件具有错误的版本 61.0, 应为 52.0

    今天用测试类调试MyBatis-plus的时候遇到了这个bug,初步思路是jdk版本不对应,把项目的jdk版本和Setting里的jdk版本都设置为同一版本,但没有作用 也尝试过更换maven版本,但 ...

最新文章

  1. 谷歌、亚马逊、微软、IBM…这些巨头都已如何通过AI赚到钱了?
  2. win7下搭建手动转码服务器的安装配置tomcat、java、ffmpeg、hy_changsha、FTP
  3. 添加用户信息的方法java_添加用户的流程分析
  4. ipv6计算_移动云多款产品通过工信部IPv6支持能力技术测评
  5. Kafka- Spark消费Kafka
  6. “Info.plist” couldn’t be removed
  7. linux串口中断_5年匠心之作,深度探索Linux虚拟化
  8. mac上投屏android_win10不支持miracast,怎么无线投屏
  9. android aar项目_一文了解Android游戏SDK开发
  10. ubuntu18.04系统ros melodic 安装orbslam2,Astra相机的ROS环境
  11. python爬取去哪网数据_Python爬虫入门:使用Python爬取网络数据
  12. Python项目打包成exe文件
  13. 活动喵怎么用?定向寻宝活动设计思路和实操(附2019最新教程)
  14. c语言flag什么意思,立flag是什么意思flag是什么?立flag用语出处和使用方法
  15. 经典算法大全之费式数列
  16. 【STM32】串行通讯方式及USART串口通信
  17. 像CFO一样思考(1)- 给私域运营算个帐
  18. 你有想过,如何用Hadoop实现【倒排索引】?
  19. Python zip zip_longest
  20. openwrt-wps功能的实现(一)

热门文章

  1. js输入框的联想功能
  2. 2021届中信银行总行信息科技部笔试面试经历
  3. matlab wc wp,MATLAB_IIR_带通通滤波
  4. 小米/红米手机数据恢复:从小米手机恢复已删除的数据
  5. 清华大学计算机学院92届韩松,清华大学有814人曾任教于美国一流大学,厉害
  6. 修改Windows Server2003/SQL Server2005的密码后金和C6软件的配置
  7. 跳妹儿学编程之ScratchJr(六):第一个ScratchJr程序HelloWorld以及ScratchJr程序如何执行
  8. 斗牛SEO工具报错:当前软件包缺少更新组件……
  9. 一些关于界面设计的技巧
  10. 码农创业—人流量的计算方法