簡體   English   中英

將Crashlytics集成到庫項目中

[英]Integrating Crashlytics to library project

我有一個沒有任何活動/服務的圖書館項目(自定義視圖庫項目)。 我想將Crashlytics SDK集成到我的庫中。 當我嘗試通過Android Studio的Crashlytics插件(工具欄中的圖標)添加它時,它只是"Checking" "Select a kit to install" 問題是如何將Crashlytics添加到我的Android庫項目中?

最好的祝福

您現在需要一個應用程序模塊,即使您的目的是僅將Crashlytics集成到您的庫中。 如果您只擁有圖書館,那么沒有合理的方法可以做到這一點,至少在官方上是這樣。

請參閱下面的內容,首先在應用程序端生成必要​​的內容,然后將其(其中一些)移動到庫中,例如初始化。

當您使用工具包時,Fabric會在基礎項目內設置初始化代碼,而不是庫。 這是你怎么做的......

使用以下gradle創建一個android庫項目:

apply plugin: 'com.android.library'
<-- other project specific includes -->

buildscript {
  repositories {
    maven { url 'https://maven.fabric.io/public' }
  }

  dependencies {
    classpath 'io.fabric.tools:gradle:1.+'
  }
}

apply plugin: 'io.fabric'

repositories {
  maven { url 'https://maven.fabric.io/public' }
}

dependencies {
  compile('com.crashlytics.sdk.android:crashlytics:2.6.5@aar') {
    transitive = true;
  }
}

對於您的基礎項目,將maven行添加到allProjects / repositories:

allprojects {
  repositories {
      jcenter()
      mavenCentral()
      maven { url 'https://maven.fabric.io/public' }
  }
}

從您的應用程序項目中添加依賴項到新創建的庫項目。 例如:

compile project(':crashlytics_lib')

可以在使用該模塊的父應用程序的幫助下完成。

  • 使用常規步驟在父級上設置Firebase。
  • 將其添加到庫模塊的build.gradle中。
  implementation 'com.google.firebase:firebase-core:16.0.1'
  implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
  • 使用此靜態變量在庫模塊中創建一個類。 public static Crashlytics crash;
  • 在父類Application類中,分配Crashlytics.getInstance(); 到那個變量。
  • 庫模塊可以調用crash.core.logException(e); 在庫中的任何位置並發送到Firebase控制台 - 但包括空檢查,例如。 在沒有父應用程序的情況下調用庫測試方法。
  • 其他未處理的異常,例如throw new RuntimeException("test"); 在庫中也應該出現在控制台中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM