将Crashlytics集成到库项目中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Crashlytics集成到库项目中相关的知识,希望对你有一定的参考价值。

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

最好的祝福

答案

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

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

当您使用工具包时,Fabric会在基础项目内设置初始化代码,而不是库。 Here's how you'd do it...

另一答案

使用以下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");也应该出现在控制台中。

以上是关于将Crashlytics集成到库项目中的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Crashlytics 集成到 iOS 框架项目中?

Crashlytics 集成问题

无法将 Eclipse 中的 crashlytics 与 ADT 集成

Firebase Crashlytics 集成停留在“我们将监听您的应用程序与我们的服务器通信”。 iOS

最近项目中代码管理学习

最近项目中代码管理学习