Android Studio, Gradle, Fabric Crashlytics - 我们有一个非常常见的设置。我们在build.gradle
有通常的compile
行:
compile('com.crashlytics.sdk.android:crashlytics:2.6.5@aar') {
transitive = true;
}
在我们的Application
子类中,实例化行:
Fabric.with(this, new Crashlytics());
都很好。工作了很长时间。现在我们想使用结构答案。
这是令人困惑的部分 - 如果我将实例化行编辑为此:
Fabric.with(this, new Crashlytics(), new Answers());
.. 它有效。我预计我需要将以下内容添加到build.gradle
,正如他们的安装文档所建议的那样:
compile('com.crashlytics.sdk.android:answers:1.3.10@aar') {
transitive = true;
}
但是Answers
类似乎有或没有这个导入。
所以,我想我的问题:
- 我是否需要同时输入 Gradle
compile
条目?还是com.crashlytics.sdk.android:crashlytics:2.6.5@aar
已经包含答案的超集? - 当我同时想要 Crashlytics + 答案时,
Fabric.with(this, new Crashlytics(), new Answers());
实例化事物的正确方法吗?
我正在使用两个Gradle 导入,但即使我没有第二个,它似乎也可以编译。有点困惑为什么。
谢谢!
更新
正如公认的答案所述,单独拥有Fabric.with(this, new Crashlytics());
就足够了。
深入研究Crashlytics
类,看起来它实际上实例化了一些事情:
this(new Answers(), new Beta(), new CrashlyticsCore());
.. 所以你去吧!额外的 Gradle import + Fabric 实例化参数是多余的。
你不需要将 Answers 依赖项显式添加到 build.gradle 文件中,因为它已经默认包含在 Fabric 中。所以你的第一行很好Fabric.with(this, new Crashlytics());