我有一个没有任何活动/服务的图书馆项目(自定义视图库项目)。我想将Crashlytics SDK集成到我的库中。当我尝试通过Android Studio的Crashlytics插件(工具栏中的图标)添加它时,它只保留"Checking"
"Select a kit to install"
。
问题是如何将Crashlytics添加到我的Android库项目中?
最好的问候
答案 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)
这可以在使用该模块的父应用程序的帮助下完成。
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");
也应显示在控制台中。