2016-10-18 19 views
0

私はAndroid Studioを使用しています.Firebase AnalyticsとFirebase Ads(AdMob)を使用したいと思います。私は、利用可能なすべてのドキュメントを踏襲し、依存関係のセクションでは、私のアプリレベルのGradleファイルに次を追加しました:プロジェクトに追加されたFirebaseライブラリが多すぎます

compile 'com.google.firebase:firebase-core:9.6.1' 
compile 'com.google.firebase:firebase-ads:9.6.1' 

しかし、私はプロジェクトの「外部ライブラリ」の下にそのI Firebaseライブラリのトンがあったことに気づきました使用したくない(画像参照)。

External Libraries

彼らはビルドに含まれる場合、私は、これらすべてのプロジェクトワークスペースに入ったのか分からない、と私は先に行くと、それらを削除することができます。

助けてください。

答えて

0

不要なFirebaseライブラリは実際にGoogle Playサービスの依存関係から来ていました( 'com.google.android.gms:play-services:9.6.1'をコンパイルしてください)。

私はAndroidやこれらのライブラリをよく知らないので、Google PlayサービスとFirebaseライブラリの関係はわかりませんでした。そのため、私の質問では言及していませんでした。

とにかく削除して、不要なFirebaseライブラリをすべてプロジェクトから削除しました。ここでは、Google Playの依存関係全体ではなく、必要に応じて特定のGoogle PlayサービスAPIを追加するだけです。

1

あなたはその依存関係のセットのすべてを持っているべきではありませんが、いくつか余分なものがあります。

あなたは実行することができます。

./gradlew app:dependencies 

依存関係のリストを表示するには(あなたのモジュールは、「アプリ」と呼ばれていると仮定した場合)。私の場合、これは以下のリストになります。 Firebase、コアから解析ライブラリとplay-services-adsライブラリのさまざまな部分のための共通のコードのそのミックス - ここではライブラリの

+--- com.google.firebase:firebase-core:9.6.1 | \--- com.google.firebase:firebase-analytics:9.6.1 | +--- com.google.android.gms:play-services-basement:9.6.1 | | \--- com.android.support:support-v4:24.0.0 -> 24.2.1 (*) | +--- com.google.firebase:firebase-common:9.6.1 | | +--- com.google.android.gms:play-services-basement:9.6.1 (*) | | \--- com.google.android.gms:play-services-tasks:9.6.1 | | \--- com.google.android.gms:play-services-basement:9.6.1 (*) | \--- com.google.firebase:firebase-analytics-impl:9.6.1 | +--- com.google.android.gms:play-services-basement:9.6.1 (*) | +--- com.google.firebase:firebase-iid:9.6.1 | | +--- com.google.android.gms:play-services-basement:9.6.1 (*) | | \--- com.google.firebase:firebase-common:9.6.1 (*) | \--- com.google.firebase:firebase-common:9.6.1 (*) \--- com.google.firebase:firebase-ads:9.6.1 +--- com.google.android.gms:play-services-ads:9.6.1 | +--- com.google.android.gms:play-services-ads-lite:9.6.1 | | \--- com.google.android.gms:play-services-basement:9.6.1 (*) | +--- com.google.android.gms:play-services-base:9.6.1 | | +--- com.google.android.gms:play-services-basement:9.6.1 (*) | | \--- com.google.android.gms:play-services-tasks:9.6.1 (*) | +--- com.google.android.gms:play-services-clearcut:9.6.1 | | +--- com.google.android.gms:play-services-base:9.6.1 (*) | | \--- com.google.android.gms:play-services-basement:9.6.1 (*) | +--- com.google.android.gms:play-services-basement:9.6.1 (*) | \--- com.google.android.gms:play-services-gass:9.6.1 | \--- com.google.android.gms:play-services-basement:9.6.1 (*) \--- com.google.firebase:firebase-analytics:9.6.1 (*)

すべてが期待通りです。

Gradleファイルを変更してからクリーンビルドを実行し、他のcom.google.firebaseライブラリ(FirebaseUIなど)に依存する可能性のあるものを確認してください。

+0

こんにちはイアン、ご返信ありがとうございます。 – Pako88

+0

私は、あなたが言ったことと、奇妙なことに、私が./gradlew appから得た出力を行いました:dependenciesコマンドは、私の質問で言及したすべてのライブラリへの依存関係を含んでいます。 firebase-auth、firebase-crashなど、私は使っていない!あなたが言及したFirebaseUIが何であるかわかりません。私はちょうどfirebase analyticsと広告がほしいと思う、そして私はこれらの他のすべての図書館が私のプロジェクトでどのように終わったか分かりません。 AdMobのほかに、InMobi SDKとLeadbolt SDKを仲介に追加しましたが、これらは問題を作成していません。私はプロジェクトをきれいにしましたが、変更はありません。私にできることが他にありますか? – Pako88

関連する問題