Android如何集成騰訊Bugly

1. 概述


這篇文章主要記錄下自己在開發(fā)過程中是如何集成騰訊的Bugly,以及如何在項目中用它來統(tǒng)計收集bug,然后可以在自己后臺的bugly管理系統(tǒng)中查看塑顺,具體的大家可以移步 騰訊Bugly官方文檔恰聘,那么解析來我們就一起來看下,我們是如何一步一步集成騰訊Bugly絮宁,又是如何一步一步把它用到我們的項目中的。

2. 具體實現(xiàn)


2.1>:首先去騰訊Bugly官網(wǎng)申請賬號,這里最好是公司的賬號晤愧,順便說一下,凡是涉及到需要集成第三方的一些東西蛉腌,一律使用公司申請的賬號官份。

集成Bugly需要填寫的東西

2.2>:填寫完之后就去下載它的 SDK

下載Bugly SDK

2.3>:或者第二步也可以不用去下載SDK,直接按照我下邊配置也是可以的:

項目的bulid.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

        // 騰訊bugly
        classpath 'com.tencent.bugly:symtabfileuploader:2.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

app的build.gradle

apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
//騰訊bug管理插件
apply plugin: 'bugly'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "cn.novate.ykh"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"


        /** 騰訊bugly */
        /*ndk {
            // 設(shè)置支持的 SO 庫構(gòu)架
            abiFilters 'armeabi', 'x86'// 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', 'mips', 'mips64'
        }*/
        ndk {
            abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
        }
        // 64k
        multiDexEnabled true
    }

}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'

    //騰訊bug管理平臺
    compile 'com.tencent.bugly:crashreport:2.6.0'
    compile 'com.tencent.bugly:nativecrashreport:3.3.0'
}

2.3>:在BaseApplication的onCreate中初始化就ok眉抬,下邊會涉及到appId贯吓,這里記得要把我們剛才創(chuàng)建應(yīng)用的appId找到,然后把下邊的替換為我們自己應(yīng)用的appId即可蜀变;

/**
     * 初始化騰訊bug管理平臺
     */
    private void initBugly() {
        /* Bugly SDK初始化
        * 參數(shù)1:上下文對象
        * 參數(shù)2:APPID悄谐,平臺注冊時得到,注意替換成你的appId
        * 參數(shù)3:是否開啟調(diào)試模式,調(diào)試模式下會輸出'CrashReport'tag的日志
        * 注意:如果您之前使用過Bugly SDK库北,請將以下這句注釋掉爬舰。
        */
        CrashReport.UserStrategy strategy = new CrashReport.UserStrategy(getApplicationContext());
        strategy.setAppVersion(AppUtils.getAppVersionName());
        strategy.setAppPackageName(AppUtils.getAppPackageName());
        strategy.setAppReportDelay(20000);                          //Bugly會在啟動20s后聯(lián)網(wǎng)同步數(shù)據(jù)

        /*  第三個參數(shù)為SDK調(diào)試模式開關(guān),調(diào)試模式的行為特性如下:
            輸出詳細(xì)的Bugly SDK的Log寒瓦;
            每一條Crash都會被立即上報情屹;
            自定義日志將會在Logcat中輸出。
            建議在測試階段建議設(shè)置成true杂腰,發(fā)布時設(shè)置為false垃你。*/

        CrashReport.initCrashReport(getApplicationContext(), "4ae3b64456", true ,strategy);

        //Bugly.init(getApplicationContext(), "1374455732", false);
    }

以上就已經(jīng)集成完Bugly,為了驗證我們是否已經(jīng)集成成功,下邊我們就來做一個測試惜颇,最好寫一個點擊事件皆刺,一點擊就讓它崩潰,比如我們讓點擊一個按鈕凌摄,然后彈出 2/0 的提示 羡蛾,下邊我們就來驗證下

測試Bugly是否集成成功:
         case R.id.rl_me_set:
                  showToast("測試bugly結(jié)果" + 2/0);
                 CrashReport.testJavaCrash();
                break;

注意:

在測試崩潰情況的時候,需要在每一個崩潰代碼下邊添加CrashReport.testJavaCrash();用于測試锨亏,只要一點擊痴怨,崩潰后,然后打開我們Bugly的管理平臺器予,如果在 "崩潰頁面" 或者 "異常分析頁面" 出現(xiàn)了我們剛才的bug浪藻,就說明我們集成成功,然后就需要把這個測試的代碼注釋即可劣摇。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末珠移,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子末融,更是在濱河造成了極大的恐慌钧惧,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件勾习,死亡現(xiàn)場離奇詭異浓瞪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)巧婶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門乾颁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人艺栈,你說我怎么就攤上這事英岭。” “怎么了湿右?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵诅妹,是天一觀的道長。 經(jīng)常有香客問我毅人,道長吭狡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任丈莺,我火速辦了婚禮划煮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缔俄。我一直安慰自己弛秋,他們只是感情好器躏,可當(dāng)我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蟹略,像睡著了一般邀桑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上科乎,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天,我揣著相機(jī)與錄音贼急,去河邊找鬼茅茂。 笑死,一個胖子當(dāng)著我的面吹牛太抓,可吹牛的內(nèi)容都是我干的空闲。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼走敌,長吁一口氣:“原來是場噩夢啊……” “哼碴倾!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起掉丽,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤跌榔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后捶障,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體僧须,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年项炼,在試婚紗的時候發(fā)現(xiàn)自己被綠了担平。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡锭部,死狀恐怖暂论,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拌禾,我是刑警寧澤取胎,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站蹋砚,受9級特大地震影響扼菠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜坝咐,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一循榆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧墨坚,春花似錦秧饮、人聲如沸映挂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柑船。三九已至,卻和暖如春泼各,著一層夾襖步出監(jiān)牢的瞬間鞍时,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工扣蜻, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留逆巍,地道東北人。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓莽使,卻偏偏與公主長得像锐极,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子芳肌,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,691評論 2 361

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