Android開發(fā)工具篇之崩潰日志跟蹤

在Android應(yīng)用的開發(fā)過程中,難免會(huì)有一些潛在的bug毛萌,造成用戶手機(jī)出現(xiàn)Crash或者ANR苟弛,因此收集用戶的崩潰日志是非常必要的。一般大一點(diǎn)的公司會(huì)自己搭建一套Crash日志上傳系統(tǒng)阁将,創(chuàng)業(yè)公司因?yàn)橘Y源有限膏秫,會(huì)更傾向于引入第三方工具進(jìn)行收集。

Crash日志的捕捉是非常容易的做盅,接管默認(rèn)的異常處理器缤削,實(shí)現(xiàn)UncaughtExceptionHandler接口即可,但本文重點(diǎn)不在于分析如何捕捉Crash日志以及上傳吹榴,也不是介紹第三方的一些平臺(tái)亭敢,而是講解如何使用ACRA(Application Crash Reporting on Android),一個(gè)可以自動(dòng)上傳崩潰日志到我們的服務(wù)器上的庫文件图筹。

一帅刀、安裝服務(wù)器

自從ACRA被設(shè)計(jì)出來就一直非常流行,它允許開發(fā)人員開發(fā)自己的服務(wù)器系統(tǒng)婿斥,但我認(rèn)為最好的劝篷,還是ACRA團(tuán)隊(duì)自己開發(fā)的Acralyzer系統(tǒng),Acralyzer系統(tǒng)工作在Apache CouchDB上民宿,因此娇妓,我們只需要安裝CouchDB就可以了。

可以直接從官網(wǎng)(http://couchdb.apache.org)下載:

下載安裝完成后活鹰,可以可以在瀏覽器里面看到couchdb的控制臺(tái)哈恰。


開始配置服務(wù)器端只估,首先,我們需要安裝一個(gè)acro-storage(Acralyzer服務(wù)器的存儲(chǔ)終端)着绷,從右邊的菜單區(qū)域點(diǎn)擊Replicator進(jìn)入蛔钙,然后像下面這樣填好from Remote Database 和 to Local Database:

from Remote Database: http://get.acralyzer.com/distrib-acra-storage
to Local Database: acra-myapp

點(diǎn)擊右邊的Replicate按鈕完成數(shù)據(jù)庫的導(dǎo)入。
接下來荠医,我們以相同的方式安裝Acralyzer吁脱。

from Remote Database: http://get.acralyzer.com/distrib-acralyzer
to Local Database: acralyzer

如果沒有出錯(cuò)的話,我們可以在主頁看到剛導(dǎo)入的數(shù)據(jù)庫:


我們大部分內(nèi)容已經(jīng)完成了彬向,接下來為客戶端創(chuàng)建一個(gè)用戶兼贡,打開瀏覽器進(jìn)入下面的地址:

http://127.0.0.1:5984/acralyzer/_design/acralyzer/index.html

點(diǎn)擊Admin,再切換到Users界面:


根據(jù)提示創(chuàng)建一個(gè)新的賬號(hào)娃胆,創(chuàng)建成功后會(huì)有以下提示:


現(xiàn)在我們已經(jīng)有了賬號(hào)遍希,可以開始在客戶端進(jìn)行設(shè)置。

二里烦、客戶端引入ACRA庫文件

在客戶端設(shè)置ACRA非常的簡(jiǎn)單凿蒜,首先在build.gradle文件里添加如下依賴:

compile 'ch.acra:acra:4.6.1'

自定義Application,添加@ReportCrashes注解:

mport android.app.Application;

import org.acra.ACRA;
import org.acra.annotation.ReportsCrashes;
import org.acra.sender.HttpSender;

/**
 * Created by stefanli on 16/3/16.
 */
@ReportsCrashes(
        httpMethod = HttpSender.Method.PUT,
        reportType = HttpSender.Type.JSON,
        formUri = "http://127.0.0.1:5984/acra-myapp/_design/acra-storage/_update/report",
        formUriBasicAuthLogin = "stefanli",
        formUriBasicAuthPassword = "123456"
)
public class CustomApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        ACRA.init(this);
    }
}

最后胁黑,在AndroidManifest.xml文件里面添加網(wǎng)絡(luò)訪問權(quán)限即可:

<uses-permission android:name="android.permission.INTERNET"/>

三废封、配置服務(wù)器地址

前面用到的127.0.0.1是默認(rèn)使用的IP地址,在我們正式使用的時(shí)候應(yīng)該替換為服務(wù)器的IP地址别厘。
打開配置文件虱饿,路徑為:/Users/stefanli/Library/Application Support/CouchDB/etc/couchdb/local.ini
修改以下配置:

port = 5984
bind_address = 0.0.0.0

到了這一步拥诡,我們基本的配置都完成了触趴,可以寫一個(gè)簡(jiǎn)單的例子運(yùn)行一下,其他還有一些關(guān)于安全方面的配置渴肉,大家如果感興趣的話可以繼續(xù)完善一下冗懦。

系統(tǒng)的使用是非常簡(jiǎn)單的,其中包含了bug的詳細(xì)信息以及用戶手機(jī)的詳細(xì)信息仇祭,具體的使用大家可以自己摸索一下披蕉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市乌奇,隨后出現(xiàn)的幾起案子没讲,更是在濱河造成了極大的恐慌,老刑警劉巖礁苗,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爬凑,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡试伙,警方通過查閱死者的電腦和手機(jī)嘁信,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門于样,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人潘靖,你說我怎么就攤上這事穿剖。” “怎么了卦溢?”我有些...
    開封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵糊余,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我单寂,道長(zhǎng)啄刹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任凄贩,我火速辦了婚禮誓军,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘疲扎。我一直安慰自己昵时,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開白布椒丧。 她就那樣靜靜地躺著壹甥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪壶熏。 梳的紋絲不亂的頭發(fā)上句柠,一...
    開封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音棒假,去河邊找鬼溯职。 笑死,一個(gè)胖子當(dāng)著我的面吹牛帽哑,可吹牛的內(nèi)容都是我干的谜酒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼妻枕,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼僻族!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起屡谐,我...
    開封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤述么,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后愕掏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體度秘,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年亭珍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了敷钾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枝哄。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖阻荒,靈堂內(nèi)的尸體忽然破棺而出挠锥,到底是詐尸還是另有隱情,我是刑警寧澤侨赡,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布蓖租,位于F島的核電站,受9級(jí)特大地震影響羊壹,放射性物質(zhì)發(fā)生泄漏蓖宦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一油猫、第九天 我趴在偏房一處隱蔽的房頂上張望稠茂。 院中可真熱鬧,春花似錦情妖、人聲如沸睬关。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽电爹。三九已至,卻和暖如春料睛,著一層夾襖步出監(jiān)牢的瞬間丐箩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工恤煞, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留屎勘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓阱州,卻偏偏與公主長(zhǎng)得像挑秉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子苔货,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容