-
下載: plugin-bugly.zip (1.4 MB)
-
插件開源地址: https://github.com/tidys/CocosCreatorPlugins/tree/master/packages/plugin-bugly
1.Bugly是什么?
Bugly 是騰訊提供的服務, 是為基於 Cocos 引擎的App(iOS/Android)封裝的 Bugly 原生(iOS/Android) SDK 的接口,方便調用 Bugly 原生 SDK,可用於SDK初始化、設置自定義用戶信息、錯誤等,並自動捕獲上報App的腳本(Lua、JavaScript)錯誤和原生代碼(如Objective-C、Java、C/C++等)引發的崩潰信息,提供實時、多維度的異常問題分析服務。
2.使用該插件有什么好處?
按照Bugly官方提供的接入文檔,需要修改工程的多處文件,具體可以參考bugly官方文檔
比如需要修改Android.mk, AndroidManifest.xml,拷貝各種so庫,這部分涉及到了Android編程,對於從沒有接觸安卓編程的小伙伴一臉懵逼啊
還要修改Classes/AppDelegate.cpp,增加Bugly初始化等c++代碼,如果你是從cocos2dx過渡過來的小伙伴,肯定很熟悉C++部分代碼,不然你就慘咯,這明擺着就是欺負Creator萌新們!
都說Creator是游戲開發利器,火遍了大江南北,難道就沒有那種 一鍵接入 的插件嗎?對!就是那種 一鍵XXX 的,我最喜歡了,沒錯,Bugly插件就是你要的,而且最重要的是免費呦,很符合國情滴
3.如何使用該插件?
- 使用前你需要去Bugly官網申請賬號
然后添加一個產品應用(記得平台是安卓,因為插件目前僅僅支持安卓)
- 在 我的產品 中即可看到剛才創建的產品應用,點擊 設置 ,里面提供了接入Bugly必須的參數
- 下載插件plugin-bugly.zip (1.4 MB)
然后打開插件,如圖:
- 界面比較簡潔,下邊具體來解釋一下填寫的參數
App Id : 騰訊bugly服務后台提供
App Key : 騰訊bugly服務后台提供
App Package : 游戲包名,該參數只讀,不允許手動填寫,插件會 自動讀取 項目的配置,所以你不得不先構建項目
App Version : 游戲版本
App Channal : 游戲渠道
自動上傳符號表 : 生成符號表文件后是否自動上傳生成的符號表文件
添加Bugly按鈕 : 該操作需要App Id參數,修改android工程,如果沒有構建項目,插件會在日志窗口自動提示,
上傳符號表 : 生成符號表並根據用戶選擇確定是否上傳符號表文件到Bugly后台
4.什么是符號表?為什么要配置符號表?
符號表是內存地址與函數名、文件名、行號的映射表。符號表元素如下所示:
為了能快速並准確地定位用戶APP發生Crash的代碼位置,Bugly使用符號表對APP發生Crash的程序堆棧進行解析和還原。
舉一個例子
這個是沒有上傳符號表的Crash堆棧信息:
這個是上傳符號表之后解析的Crash堆棧信息:
通過對比,我們發現符號表的作用其實就是為了快速定位代碼出錯的位置
要查看符號表文件的具體信息可以在這里查看:
5.上傳符號表文件注意事項
生成符號表 需要java環境,請確保已經安裝 java ,並且 JRE或JDK版本需要 >= 1.6 ,其實該插件僅僅是調用了Bugly提供的上傳符號表工具,具體的文檔參考這里Bugly Android符號表配置
6.美中不足
美中不足的是該插件目前只支出Android,后續會盡快支持IOS
7.最后的最后
- 插件中使用的是bugly版本是1.4.3
- creator建議1.6.x以上
- 如果你想要了解更多插件的工作原理,具體可以參考這篇帖子:
http://forum.cocos.com/t/creator1-7-bugly/52923
注意事項:
將插件放入項目的packages目錄下,打開插件填入參數,然后點擊按鈕 添加Bugly
由於該插件只導入了armeabi-v7a,所以如果還使用了其他架構還需要手動將so文件拷 (BuglySDK/Android/libs目錄下)貝到android項目路徑jni目錄下,如圖:
由於1.6版本之后的安卓目錄變動,so文件現在生成在app/build/目錄下,所以需要手動更改插件panel/index.js,修改內容如下
這時候就可以生成符號表上傳了!如圖上傳成功!