2

Android Studio、Gradle、Fabric Crashlytics - かなり一般的なセットアップがあります。通常のcompile行は次のbuild.gradleとおりです。

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クラスはこのインポートの有無にかかわらず見つかるようです。

だから、私は私の質問を推測します:

  1. 両方のGradlecompileエントリが必要ですか? それともcom.crashlytics.sdk.android:crashlytics:2.6.5@aar、Answers が既に含まれているスーパーセットですか?
  2. Fabric.with(this, new Crashlytics(), new Answers());Crashlytics + Answers の両方が必要な場合、インスタンス化する正しい方法はありますか?

私は両方のGradle インポートを使用していますが、2 つ目のインポートがなくても問題なくコンパイルできたようです。なぜだか混乱した。

ありがとう!

アップデート

受け入れられた答えが述べているように、Fabric.with(this, new Crashlytics());一人で十分です。

クラスを掘り下げるCrashlyticsと、実際にはいくつかのインスタンスが作成されているように見えます。

this(new Answers(), new Beta(), new CrashlyticsCore());

.. では、どうぞ!追加の Gradle インポート + Fabric インスタンス化引数は不要です。

4

1 に答える 1

2

Answers 依存関係はデフォルトで Fabric に含まれているため、明示的に build.gradle ファイルに追加する必要はありません。だからあなたの最初の行は大丈夫ですFabric.with(this, new Crashlytics());

于 2016-12-06T00:21:26.903 に答える