【发布时间】:2016-12-05 05:16:17
【问题描述】:
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 Answers。
这是令人困惑的部分 - 如果我将实例化行编辑为:
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是一个已经包含 Answers 的超集? - 当我同时需要 Crashlytics + Answers 时,
Fabric.with(this, new Crashlytics(), new Answers());是实例化事物的正确方法吗?
我正在使用 both Gradle 导入,但即使我没有第二个,它似乎也可以编译。有点困惑为什么。
谢谢!
更新
正如接受的答案所述,仅拥有Fabric.with(this, new Crashlytics()); 就足够了。
深入研究Crashlytics 类,看起来它实际上实例化了一些东西:
this(new Answers(), new Beta(), new CrashlyticsCore());
.. 就这样吧!额外的 Gradle 导入 + Fabric 实例化参数是多余的。
【问题讨论】:
标签: android-gradle-plugin crashlytics twitter-fabric crashlytics-android