Cocos项目接入腾讯Bugly

前端之家收集整理的这篇文章主要介绍了Cocos项目接入腾讯Bugly前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、腾讯Bugly简介

BuglySDK是可以上报bug到开发者后台的sdk,获取的信息可以包括用户移动设备的硬件信息(平台、系统、cpu架构、内存等各种信息)以及出错的堆栈信息。总之,这是一个可以让开发者快速获取用户端的设备信息的SDK,大大的提高了bug的修复效率。

2、注册Bugly账号

Bugly官网注册账号获取到APPID和APPKey等信息


3、集成Bugly插件

需要准备BuglyCocosPlugin这个官网提供的插件


这里面有很多内容包括Android和iOS两个平台,可以获取到js C++ Lua等错误,这里只介绍Cocos-Lua的插件集成以及错误捕获。

首先把bugly目录放在cocos引擎的external文件


这里是确保可以用到CrashReport.h以及lua文件内的内容(具体要看你的项目了)

然后把agent/Android目录下面的.jar文件和BuglySDK/Android下面的.jar文件放到项目的libs目录下面。



然后我们再把libBugly.so文件放进$(PROJECT)/jni/prebuilt


具体要放那个so文件具体要看设备的cpu架构来决定,有关so文件的知识建议仔细了解一下


然后修改proj.android/jni/Android.mk文件修改这个资源是要生成我们bugly相关功能需要的so文件,有关Android.mk文件去这里了解一下走你~


这些makefile代码主要是新建了一个module,然后生成一个libbugly_native_prebuilt.so文件跟包一起支持Bugly的工作。

接下来我们需要在AndroidManifest.xml文件内加一些代码


到这个地方,BuglyCocosPlugin这个插件我们已经集成在我们的项目里面了,不过最开始我们申请的APPID还没使用到,还是没法和我们的后台链接,那么这里我们来初始化一下这个插件

在Classes/AppDelegate.cpp文件的AppDelegate::applicationDidFinishLaunching()函数里面调用CrashReport::initCrashReport(const char* appId,bool debug)来对Bugly初始化。

对了,还要记得加上文件


OK,到目前为止,完成了大部分工作,不过还剩下最后一步,就是注册错误上报函数。让我们继续

接下里修改Android.mk文件,用来支持Lua错误的捕获

$(call import-moudle,external/bugly/lua)这局代码加到最后面

并且在Classes/AppDelegate.cpp文件的AppDelegate::applicationDidFinishLaunching()函数里面调用接口BuglyLuaAgent::registerLuaExceptionHandler(...)进行初始化,并且对刚才导入的头文件进行更新



最后在lua脚本的__G__TRACKBACK__这个脚本里面调用lua错误上报的bugly接口


到这里,接入工作就结束了,不过还没有配符号表,符号表可以让错误堆栈更加人性化,这里先不提了~

最后,应用的出错信息就可以获取到了

猜你在找的Cocos2d-x相关文章