将Crashlytics集成到库项目中

时间:2015-03-03 09:52:08

标签: android crashlytics

我有一个没有任何活动/服务的图书馆项目(自定义视图库项目)。我想将Crashlytics SDK集成到我的库中。当我尝试通过Android Studio的Crashlytics插件(工具栏中的图标)添加它时,它只保留"Checking" "Select a kit to install"。 问题是如何将Crashlytics添加到我的Android库项目中?

最好的问候

3 个答案:

答案 0 :(得分:3)

您现在需要一个应用模块,即使您的目的是仅将Crashlytics集成到您的库中。如果您只拥有图书馆,那么没有合理的方法可以做到这一点,至少不是正式的。

请参阅below,先在应用端生成必要​​的内容,然后将其中的一些内容移动到您的库中,例如初始化。

  

当您使用套件时,Fabric会在其中设置初始化代码   基础项目,而不是图书馆。 Here's how you'd do it...

答案 1 :(得分:1)

使用以下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')

答案 2 :(得分:0)

这可以在使用该模块的父应用程序的帮助下完成。

  • 按照常规步骤在父级上设置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");也应显示在控制台中。