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接口
到這里,接入工作就結束了,不過還沒有配符號表,符號表可以讓錯誤堆棧更加人性化,這里先不提了~
最后,應用的出錯信息就可以獲取到了
新聞熱點
疑難解答