BugTags 让Bug无所遁形,记录集成BugTags之路
首先咱们先来看两个图,在我的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之路相关推荐
- ML之回归预测:利用十(xgboost,10-1)种机器学习算法对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值——bug调试记录
ML之回归预测:利用十(xgboost,10-1)种机器学习算法对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值--bug调试记录 目录 输出结果 1.增加XGBR算法 ...
- 软件测试bug文档模板,软件bug测试记录模板
软件bug测试记录模板 XXX软件bug测试记录表 文档编号: 背景信息 项目名称 测试目的 硬件环境 软件环境 测试时间 测试人员 测试说明 1.严重等级: A-Crash(崩溃的):由于程序所引起 ...
- 多线程bug处理记录
原创:多线程bug处理记录 多线程bug处理记录 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Thread(target=func02) while True:dataA= ...
- 基于FPGA的FOC电流采样Bug调试记录
#基于FPGA的FOC电流采样Bug调试记录 博主在调试FOC闭环控制中遇到了一个bug,冥思苦想两三天,最终一步步地调试时序,最终找到了bug,在调试过程中学会了debug的思想,也明白了调试过程中 ...
- 【vue-seamless-scroll bug问题记录以及解决】
vue-seamless-scroll bug问题记录以及解决 vue-seamless-scroll 的使用方式,请查看网站链接: 组件官方示例. 问题1:无法自动滚动 解决方案: ①排查limit ...
- 大三学生-记录逆袭之路
@大三学生-记录逆袭之路 改走技术方向(前言) 俺目前大三,是一个普通一本高校的学生,信管专业.大一大二的时候因为惧怕打代码,在大创团队中做产品的设计和需求分析做的还可以,本来想走产品路线. 不过跟毕 ...
- openmv 神经网络 超出内存_【openmv】openmv各种bug问题记录
一 已解决的bug (一)python语言使用错误 1.for循环后未加冒号/def 函数后未加冒号/缩进不对 SyntaxError: invalid syntax 例子: def callback ...
- 一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
一条Bug记录最基本应包含: bug编号: bug严重级别,优先级: bug产生的模块: 首先要有bug摘要,阐述bug大体的内容: bug对应的版本: bug详细现象描述,包括一些截图.录像-等等: ...
- 【Bug解决记录】类文件具有错误的版本 61.0, 应为 52.0
今天用测试类调试MyBatis-plus的时候遇到了这个bug,初步思路是jdk版本不对应,把项目的jdk版本和Setting里的jdk版本都设置为同一版本,但没有作用 也尝试过更换maven版本,但 ...
最新文章
- 谷歌、亚马逊、微软、IBM…这些巨头都已如何通过AI赚到钱了?
- win7下搭建手动转码服务器的安装配置tomcat、java、ffmpeg、hy_changsha、FTP
- 添加用户信息的方法java_添加用户的流程分析
- ipv6计算_移动云多款产品通过工信部IPv6支持能力技术测评
- Kafka- Spark消费Kafka
- “Info.plist” couldn’t be removed
- linux串口中断_5年匠心之作,深度探索Linux虚拟化
- mac上投屏android_win10不支持miracast,怎么无线投屏
- android aar项目_一文了解Android游戏SDK开发
- ubuntu18.04系统ros melodic 安装orbslam2,Astra相机的ROS环境
- python爬取去哪网数据_Python爬虫入门:使用Python爬取网络数据
- Python项目打包成exe文件
- 活动喵怎么用?定向寻宝活动设计思路和实操(附2019最新教程)
- c语言flag什么意思,立flag是什么意思flag是什么?立flag用语出处和使用方法
- 经典算法大全之费式数列
- 【STM32】串行通讯方式及USART串口通信
- 像CFO一样思考(1)- 给私域运营算个帐
- 你有想过,如何用Hadoop实现【倒排索引】?
- Python zip zip_longest
- openwrt-wps功能的实现(一)
热门文章
- js输入框的联想功能
- 2021届中信银行总行信息科技部笔试面试经历
- matlab wc wp,MATLAB_IIR_带通通滤波
- 小米/红米手机数据恢复:从小米手机恢复已删除的数据
- 清华大学计算机学院92届韩松,清华大学有814人曾任教于美国一流大学,厉害
- 修改Windows Server2003/SQL Server2005的密码后金和C6软件的配置
- 跳妹儿学编程之ScratchJr(六):第一个ScratchJr程序HelloWorld以及ScratchJr程序如何执行
- 斗牛SEO工具报错:当前软件包缺少更新组件……
- 一些关于界面设计的技巧
- 码农创业—人流量的计算方法