Android | 零程式碼快速整合AGC崩潰服務

2020-10-29 12:00:58

按照官方介紹: AGC崩潰服務提供了輕量級崩潰分析服務,依據Crash SDK,可以實現零程式碼快速整合,你的應用能夠在崩潰時自動收集崩潰報告,幫助你瞭解應用版本品質、對崩潰性問題進行快速跟蹤定位、評估崩潰問題的影響範圍等。

說白了就是華為提供一個SDK,你只要整合就可以看到應用的崩潰資訊,不需要任何程式碼。是不是很心動,話不多說,先試試。

建立專案和應用

首先需要先在AGC建立一個專案,在專案中新增一個應用,操作很簡單,這裡可以參見官方檔案建立應用。

開通華為分析服務

由於崩潰服務上報崩潰事件時使用了華為分析服務的能力,整合Crash SDK前需要開通華為分析服務,參見官方檔案開通華為分析。

整合SDK

針對Android Studio開發環境,開發前需整合Crash SDK到剛剛建立的的Android Studio專案中。

  1. 登入AppGallery Connect網站,點選「我的專案」。

  2. 在專案列表中找到你的專案,在專案下的應用列表中選擇你剛剛建立的需要整合的應用。

  3. 點選「專案設定」中「應用」欄下的「agconnect-services.json」下載組態檔。
    在這裡插入圖片描述

  4. 將「agconnect-services.json」檔案拷貝到應用級根目錄下。
    在這裡插入圖片描述

  5. 開啟Android Studio專案級build.gradle檔案,設定外掛和倉庫地址。

 buildscript {
      repositories {
          google()
          jcenter()
          maven { url 'https://developer.huawei.com/repo/'   }
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:3.5.3'
          classpath 'com.huawei.agconnect:agcp:1.4.1.300'
      }
  }
   
  allprojects {
      repositories {
          google()
          jcenter()
          maven { url 'https://developer.huawei.com/repo/'   }
      }
  }
  1. 開啟Android Studio應用級build.gradle檔案,設定整合最新版本的Analytics SDK和Crash SDK。
dependencies {
 implementation 'com.huawei.hms:hianalytics:5.0.4.200'
  implementation 'com.huawei.agconnect:agconnect-crash:1.4.1.300'
              }

  1. 點選介面上的「Sync Now」連結同步已完成的設定。
    在這裡插入圖片描述

崩潰測試

為了測試崩潰,這裡我在demo中新增了一個按鈕「CrashTest」,點選呼叫AGC自帶的方法產生崩潰,然後看看效果。

按鍵設計程式碼如下:

<Button
      android:id="@+id/btn0"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:textSize=   "22dp"
      android:textAllCaps="false"
      android:text="CrashTest"   />

點選事件程式碼如下:

 Button btn_crash0 = findViewById(R.id.btn0);
  btn_crash0.setOnClickListener(new View.OnClickListener()   {
      @Override
      public void onClick(View   view) {
          AGConnectCrash.getInstance().testIt(MainActivity.this);
      }
  });

打包安裝應用到手機上,點選「CrashTest」產生一次崩潰。

崩潰報告檢視

你可以在AGC上檢視剛剛手動製造的崩潰的詳細資訊。

  1. 登入AppGallery Connect網站,點選「我的專案」圖示,進入應用。

  2. 點選「品質 > 崩潰」進入崩潰頁面,在頁面中,點選「統計」頁籤,預設顯示「過去24小時」,就可以看到崩潰資訊已經上報了,需要注意的是這裡需要等待1-2分鐘才能看到。
    在這裡插入圖片描述

  3. 點選「問題」頁籤,檢視崩潰問題,顯示「java.lang.NullPointerException」,手動製造的確實是空指標崩潰。
    在這裡插入圖片描述

繼續點選崩潰問題檢視詳情,可以看到發生崩潰問題的詳細原因,以幫助你對崩潰問題進行分析,如下顯示的就是點選「CrashTest」出現崩潰了。
在這裡插入圖片描述

總結:

1、 整合崩潰服務非常簡單,測試時可以自己寫程式碼,也可以使用AGC自帶的testIt方法。

2、 崩潰報告顯示非常快,一般1-2分鐘就可以展示。

3、 除了調測的時候需要寫幾行程式碼測試,應用正式上線只要整合SDK就可以,真正零程式碼。

4、 崩潰服務還提供了NDK崩潰監控,混淆的崩潰報告還原,自定義報告等,功能十分強大。

欲瞭解更多詳情,請參見:

華為AGC崩潰服務開發檔案:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-crash-introduction

華為AGC崩潰服務codelab檔案:https://developer.huawei.com/consumer/cn/codelab/CrashService/index.html


原文連結:https://developer.huawei.com/consumer/cn/forum/topic/0201387764119030047?fid=0101271690375130218
作者:鼓樓趙又廷

華為開發者論壇是一個為開發者提供資訊傳播、開發交流、技術分享的交流空間。開發者可以在此獲取技術乾貨、華為原始碼開放、HMS最新活動等資訊,歡迎大家來交流分享!