在Android Studio中導入並使用Fabric Crashlytics,讓APP在出錯時回報除錯訊息

By | 2017-04-15

本篇文章主要介紹如何在Android Studio環境中安裝Fabric外掛,並在APP中導入錯誤回報機制。

什麼是Fabric Crashlytics?

一般傳統作業上,當系統發生錯誤時,大都由使用者回報錯誤,對開發者而言,發生錯誤最重要的訊息如運作系統/版本、操作步驟等,使用者可能無法完整傳達,或轉達有誤。所以當開發人員接收到來自使用者的回報時,須想辦法重製錯誤。遇到特殊不易重製的情況時,更可能曠日費時延誤時程。因此,倘若有錯誤自動回報系統,將系統資訊、操作步驟、錯誤訊息等等必要資訊回傳給開發人員,將可大大減少資訊傳達所造成的誤解及重製錯誤時間,不少crash report因應而生。

講起Crash report ,勢必聯想到Fabric Crashlytics,本年度開春最大消息不啻為Google收購 Fabric,且Google計畫將Fabric Crashlytics Report 整合進Firebase服務上。到底Fabric Crashlytics有何能耐被Google相中計畫整合在Google的掌上明珠Firebase內?英商Crashlytics成立於2011年,供儲存行動裝置crash資訊及分析報告, Twitter 2013年1月買下Crashlytics,並於2014年整合在Fabric內推出,成為開發者心目中Crash Report 首選。

Fabric官網: https://get.fabric.io/

本例將簡單示範何在BMI專案內加入Crashlytics功能,以下將使用Android Studio fabric plugin tool導入Fabric Crashlytics功能。

安裝 Fabric Plugin

  • 點選 [File] -> [Settings],選擇 [Plugins],在上方搜尋框輸入fabric,搜尋到後點擊右邊窗格內的[Install]按鍵即開始安裝,安裝好後請重啟Android Studio。

Fabric Crashlytics

  • 重啟Android Studio後可看到上方工具列多出了Fabric圖示。

在專案內導入Crashlytics

  • 開啟BMI專案
  • 點擊工具列Fabric圖示後,在開發區右邊會展開Fabric工作區,按下畫面中電源圖示。

android studio fabric plugin

  • 倘若已註冊過Fabric帳號,請輸入註冊時所使用的電子郵件及密碼登入,否則點選下方[Sign Up]註冊。

fabric login

  • 登入後,將會請你選擇一個已建立的organization,尚未建立organization者請至https://fabric.io/settings/organizations建立(需登入)。

  • 點選organization後會出現包含Twitter社群登入的Fabric所有項目,選取[Crashlytics]

  • 點擊[Install],按下[Accept Terms] 同意Crashlytics 協議和隱私權政策

 

  • 此步驟將會自動在專案的 build.gradle、AndroidManifest.xml、MainActivity.java 自動加入相關程式碼,反白部份即為Fabric工具自動加入的部份。確認沒問題後,點擊 Apply,完成後同步專案。

  

至此,已經完成 Fabric Crashlytice 導入,接下來我們要進行測試。

執行BMI

在此測試專案中,目的要讓程式crash,故不進行任何預防措施和try catch處理,計算BMI程式片斷如下。

輸入非數字後按下計算,程式如願的crash了。

查看Issues

從Android Studio 查看

經過上述Cashlytics導入步驟,BMI專案已和Fabric連動,點選右側[Fabric]展開工具窗,點擊上排[Crashes]圖示即出現本專案各版本曾出現過的issues若要查看issues內容,點擊清單中項目將會連動到Fabric網站,需輸入註冊所使用之email及密碼登入。

登入後即顯示上述所選issue清單之詳細資訊,包括crash次數、人數、頻率、裝置資訊、系統版本……,畫面如下:

畫面往下拉可看到各式 Exception :

點選 [</>Raw Text] 即可查看詳細內容,和logcat內顯示的內容一樣,開發人員再也不用為了重製錯誤而傷腦筋了,issue解完可直接按下前述開關,關閉issue,是不是很方便呢?

本篇著重在介紹Android 開發人員設定Crashlyics導入及解issue相關資訊,其他尚有通知設定、同時在線人數、新安裝人數、各版本狀態….. 各項好用的統計資訊,在此暫不介紹,等你挖掘呦~~

Fabric在2017年1月時被Google收購後,原本Google的Firebase的Crash Reporting會如何呢? 接著可參考:

在Android專案導入Firebase Crash Reporting機制,讓APP在出錯時回報除錯訊息

[版權聲明]

本文章授權範圍僅限綠豆湯網站使用,除Facebook之類社群等未更改本文章出處之分享行為不在此限,其他個人或公司未經作者同意,不得任意將本文章內容轉載至其他網站,或以任何形式重製,為以免觸犯著作權法,請尊重作者之智慧財產權。

相關文章:

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *