我正在使用Android Studio,我想使用Firebase Analytics和Firebase Ads(AdMob)。我遵循了所有可用的文档,并在我的应用程序级gradle文件中的依赖项部分中添加了以下内容:
compile 'com.google.firebase:firebase-core:9.6.1'
compile 'com.google.firebase:firebase-ads:9.6.1'
但是,我注意到在项目的“外部库”下,有大量的Firebase库我不想使用(见图)。
我不知道所有这些是如何进入项目工作区的,如果它们将包含在构建中,并且我可以继续并删除它们。
任何帮助表示感谢。
答案 0 :(得分:1)
你不应该拥有这组依赖项的所有内容,但是你会有一些额外的。
你可以运行:
./gradlew app:dependencies
(假设您的模块被调用" app")以查看依赖项列表。对我来说,这导致以下列表。
+--- 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 (*)
这里的所有库都符合预期 - 它包含Firebase各个部分的公共代码,核心的Analytics库和play-services-ads
库。
确保您在更改Gradle文件后完成了干净的构建,并检查可能依赖于其他com.google.firebase库(例如FirebaseUI)的任何内容。
答案 1 :(得分:0)
不需要的Firebase库实际上来自Google Play服务依赖(编译' com.google.android.gms:播放服务:9.6.1')。
我不熟悉Android和所有这些库,所以我无法看到Google Play服务和Firebase库之间的关系,这就是为什么我在我的网站上没有提到它问题
无论如何,我删除了它,并从项目中删除了所有不需要的Firebase库。现在,我只是为我的应用添加特定的Google Play服务API,而不是整个Google Play依赖项。