我有一个库项目(自定义视图库项目),它没有任何活动/服务。 我想将Crashlytics SDK集成到我的库中。 当我尝试通过Android Studio的Crashlytics插件(工具栏中的图标)添加它时,它只停留在“检查”处,用于“选择要安装的套件”。问题是如何将Crashlytics添加到我的Android库项目中?最好的问候。
有了消费模块的父应用程序的帮助,可以实现这一点。
build.gradle
中。 implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
public static Crashlytics crash;
Crashlytics.getInstance();
赋值给该变量。crash.core.logException(e);
并发送到Firebase控制台 - 但请包含空值检查以防止例如在没有父应用程序的情况下调用库测试方法。throw new RuntimeException("test");
也会显示在控制台上。目前您需要一个应用程序模块,即使您的意图只是在库中集成Crashlytics。如果您只有库,则没有合理的方法可以做到这一点,至少目前还没有官方的方法。
请参见下面的链接,首先在应用程序侧生成必要的内容,然后将(其中一些)移动到库中,例如初始化。
当您启用工具包时,Fabric会在基本项目中设置初始化代码,而不是在库中。以下是如何操作...
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;
}
}
allprojects {
repositories {
jcenter()
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
}
从您的应用程序项目中添加对新创建的库项目的依赖项。 例如:
compile project(':crashlytics_lib')