首先先說下bugly的崩潰統計是實時的,即你的app前腳崩潰,bugly后腳就會給你統計到,但是在統計崩潰信息的時候有的時候可能只給你記錄了一個簡單的崩潰信息,并不能詳細的告訴你哪個類的哪個方法的哪行導致了app的崩潰,而bugly的符號表工具可以解決這個問題!下面筆者講述的是在使用符號表工具遇到的坑,以及個人的見解!
一、首先得集成bugly,具體集成方案查看官網的文檔就OK了;
二、第二步就是生成符號表文件
1.1環境要求
環境要求,你需要下載一個java環境,因為符號表工具的運行需要Java運行環境(JRE或JDK版本需要>=1.6)。
1.2 找到對應的dSYM文件
這里先不講什么是dSYM文件,先完成項目再說。安裝好環境以后,需要找到你項目的dSYM文件,首先看debug模式下的dSYM文件。按照下面的操作,cmd+B編譯成功以后,就會生成debug環境的dSYM文件,這個時候就成功一半了!
走到這里,應該可以找到debug模式下的dSYM文件了,接下來就是利用符號表工具來生成符號表文件了。為了之后方便整理,筆者把找到的dSYM文件復制粘貼到了桌面上,并且放在了一個文件夾里,這個文件夾可以是自己的工作文件夾里,反正就是為了方便管理。
準備好文件后,從騰訊bugly官網下載符號表工具
下載安裝完成以后,會看到下面的文件夾里的內容,
打開終端,執行以下命令:(下面的用戶名是你自己電腦的賬戶名)
cd /Users/用戶名/Downloads/buglySymboliOS
java -jar buglySymboliOS.jar -i /Users/用戶名/Desktop/test.app.dSYM
-i后面的就是你的dSYM文件的路徑,敲回車,這個時候稍等一下,大概一分鐘左右吧(看項目大小),這個時候就會生成一個壓縮包,符號表文件就在這個壓縮包里面,不過現在不必要解壓,直接把這個上傳到官網就好了。
下面這條命令是直接生成符號表文件,并且上傳符號表文件
java -jar buglySymboliOS.jar -i /Users/用戶名/Desktop/test.app.dSYM -u -id 900
012345 -key abcdefghijk -package com.batman.demo -version 2.3.1
解釋一下:id后面的是你在bugly官網生成的應用的appleid,key后面的是applekey,-package后面的是:安卓的是包名/iOS的是bundleid,version后面的是你這個應用的版本號,一定要和自己項目的版本號一致。上傳成功以后,去你自己的bugly上,可以看到已經配置的符號表,到這里你就已經配置完成了。
你可以到你的崩潰信息里去查看一下,捕捉到的崩潰信息的堆棧是不是已經可以定位到你的代碼的具體哪個類的哪個方法的哪行。
如果還沒看到筆者總結了一下幾個原因:
- 上傳符號表文件后可能不能馬上生效,我自己的是在第二天生效的;
- 查看自己的id和key是否正確;
- 查看版本號是否一致
接下來有的人會問,我的app已經上線了,怎么找到dSYM文件?這個沒問題,你可以打開Xcode->Window->Organizer->Organizer
按照上述的操作,把dSYM文件復制到自己的文件夾里,使用剛剛一樣的命令行,就可以查看自己線上app的崩潰的堆棧了,之前崩潰的也可以看到的哈!