【Unity】2021接Bugly踩坑记录
写在前面
因为在工作项目中用到Bugly,所以我在自己的测试工程中尝试接入Bugly,却没有成功,明明一切是按照说明书操作,为什么会不成功?当时在网上找了很久的资料,最后试成功了,这里把当时遇到的问题和解决办法记录下来。
踩坑记录
环境
- Unity 2017.4.39f1
- Bugly 1.5.3(Unity插件版)
记录
我在官网上看到Unity插件版的Bugly更新时间停留在了2017年,而Android版的更新时间则是最近,马上感觉有点不妙。果然在测试项目上接入完毕、出apk、运行后,没有看到错误上报。明明一切是按照说明书操作,为什么会不成功?以下是我的种种尝试:
【尝试1】
我刚开始认为可能是网络原因,可能再等半小时就能看到错误上报了:结果不是,我等了超过半小时甚至一天都没看到错误上报。
【尝试2】
我在官网的“Unity Plugin 常见问题”下看到可能是Application.RegisterLogCallback(...)被注册了的情况,当时测试项目中还装有UnityLogsViewer(方便手机上看Unity日志的插件),UnityLogsViewer已经注册了Application.RegisterLogCallback(...):结果不是,根本没有用到UnityLogsViewer,所以Application.RegisterLogCallback(...)肯定没有被注册。

【尝试3】
可能是Bugly的版本问题,因为项目工程用的是1.4.3版本能正常上报错误:结果不是,我在测试项目上将Bugly换成1.4.3版本后依然没看到错误上报。
【尝试4】
测试项目自身有问题:我的测试项目非常简单,新建的工程,只有为了测Bugly的场景和对应代码。虽然没看出我的测试项目问题出在哪,我就用Bugly带的示例工程出apk看能否正常错误上报,结果也不能。
【尝试5】
以上的尝试都没成功,那可能就是sdk的问题,可能是Bugly的sdk有问题,可能是安卓的sdk有问题:在查找资料的工程中,我看到有博客提到了G站已经有人写了工具BuglyEasyToUnity,可以直接用。不过因为我的Unity是2017版的,而BuglyEasyToUnity的示例用的Unity是2019版,所以我不确定是否要用这个工具。而且我此时更想知道到底是哪里出了问题,所以暂时将它作为参考,对比Bugly官网说明,看看工具作者到底是做了什么不一样的事情。因为我只看安卓,工具作者Jim202020在这里做了两件Bugly官网说明没提到的事情:①在UnityPlayerActivity.java里初始化CrashReport;②开启明文流量的网络请求。
我后知后觉想到为什么我没用logcat看安卓的日志……接下来是有了安卓日志下的尝试。
如果没有在UnityPlayerActivity.java里初始化CrashReport,安卓的日志上都不会出现Bugly这个单词。加了以后,能在安卓日志中看到Bugly相关信息,但还不能正常上报错误。此时安卓日志中有条异常(如下图),这条异常就是指说明文流量的网络请求没开启。我开启后,能正常上报错误。

这里,因为能看到Bugly正常上报错误,所以我的尝试就告一段落了,但我的同事在他的测试项目上接入Bugly时还遇到了sdk的其他问题,他的Unity是2019版本的。BuglyEasyToUnity很可能已经解决了这些麻烦,因为我看到作者提到了更新sdk。
总之,还是使用现成工具BuglyEasyToUnity避开麻烦吧。
【Unity】2021接Bugly踩坑记录的更多相关文章
- Unity AssetBundle 踩坑记录
Unity AssetBundle 踩坑记录 editor 下选择什么平台的 ab 加载 Material doesn't have a color property '_Color' UnityEd ...
- 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密
你真的了解字典(Dictionary)吗? 从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...
- unionId突然不能获取的踩坑记录
昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了.后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的. 在网页授权获取用户基本信息的介绍中(http://m ...
- CentOS7.4安装MySQL踩坑记录
CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...
- ubuntu 下安装docker 踩坑记录
ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...
- SpringBoot + Shiro + shiro.ini 的踩坑记录
0.写在前面的话 好久没写博客了,诶,好多时候偷懒直接就抓网上的资料丢笔记里了,也就没有自己提炼,偷懒偷懒.然后最近参加了一个网络课程,要交作业的那种,为了能方便看下其他同学的作业,就写了个爬虫把作业 ...
- google nmt 实验踩坑记录
最近因为要做一个title压缩的任务,所以调研了一些text summary的方法. text summary 一般分为抽取式和生成式两种.前者一般是从原始的文本中抽取出重要的word o ...
- ABP框架踩坑记录
ABP框架踩坑记录 ASP.NET Boilerplate是一个专用于现代Web应用程序的通用应用程序框架. 它使用了你已经熟悉的工具,并根据它们实现最佳实践. 文章目录 使用MySQL 配置User ...
- SpringBoot+SpringSecurity+Thymeleaf认证失败返回错误信息踩坑记录
Spring boot +Spring Security + Thymeleaf认证失败返回错误信息踩坑记录 步入8102年,现在企业开发追求快速,Springboot以多种优秀特性引领潮流,在众多使 ...
- IDFA踩坑记录
IDFA踩坑记录: 1.iOS10.0 以下,即使打开“限制广告跟踪”,依然可以读取idfa: 2.打开“限制广告跟踪”,然后再关闭“限制广告跟踪”,idfa会改变: 3.越狱机器安装开发证书打的包, ...
随机推荐
- leetcode-36-有效数独,leetcode-37-求解9*9数独
#include <iostream> #include <vector> #include <utility> #include <unordered_ma ...
- goland使用go mod模式
使用go mod之后,想要在goland中有代码提示,有两种方式,一种是使用gopath下的goimport工具,另一种是使用gomod自身的管理工具 我是用的是非gopath的方式,每次新建项目后总 ...
- Div的几种选择器
Div 是一个html标签,一个块级元素(单独显示一行),单独使用没有意义,需要结合CSS来使用,主要用于页面的布局. div选择器: 1.元素选择器: 1 <style> 2 div{ ...
- C# 笔记--Sendkeys winform窗体控件回车及全选
SendKeys.Send() 向活动应用程序发送击键 SendKeys.SendWait() 向活动应用程序发送给定的键,然后等待消息被处理 这两个方法可以发送组合键,需要注意的是字母按键应为小写. ...
- PHP表单验证内容是否为空的实现代码
<!doctype html> <html> <head> <meta http-equiv="conent-type" conten ...
- P8201 [传智杯 #4 决赛] [yLOI2021] 生活在树上(hard version)
个人思路: 首先,题目可以转化为是否存在 \(a,b\) 路径上一点 \(u\),满足 \(w_u = dis{1,a} \oplus dis{1,b} \oplus w_{lca(a,b)} \op ...
- [ARC140D] One to One
个人思路: 一棵树也只有一个 \(a=-1\) 的点,所以可以把它看做一个点,但是要记录点的大小 \(sz_i\),即为这棵树的大小.如果本来就是一个点,那么大小为 \(1\). 状态:\(dp_{i ...
- plsql和instantclient版本都对,依然不能初始化oci.dll解决办法
这里写到 "初始化错误,不能初始化 oci.dll, 请确认你安装的是64位的Oracle客户端 " ,这个描述还是非常的到位啊,我一检查,果然下载的客户端是32位的,在确保自己的 ...
- 使用vue的插槽理解
使用插槽的时候其实就是引用子组件,在引用的组件中间写上你要的代码,然后在子组件的的<slot ></slot>中就包含父组件写下的代码. 父组件 import addshop ...
- mysql数据库常用指令
1.查询当前连接数据库别名 select database(); Current database 项显示当前连接的数据库 2.查询数据表中当天的数据 select * from 表名 WHERE T ...