android 中的 FCM 集成,为什么 Firebase 导入所有内容?

FCM integration in android, Why Firebase importing everything?

我最近将 FCM 添加到我的项目中并且运行良好。我用过

compile 'com.google.firebase:firebase-messaging:9.0.2'

此行用于图书馆,因为只需要消息服务。但是当我看到外部库目录时,有很多 firebase 类 在我的应用程序中没有用。请看下图。

已编辑:这是整个依赖项

dependencies {
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:design:23.3.0'
compile 'com.android.support:recyclerview-v7:23.3.0'
compile 'com.android.support:cardview-v7:23.3.0'
compile 'org.apache.httpcomponents:httpmime:4.3.6'
compile 'org.apache.httpcomponents:httpcore:4.4.3'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.google.android.gms:play-services:9.0.2'
compile 'com.google.firebase:firebase-messaging:9.0.2'

}

apply plugin: 'com.google.gms.google-services'

我相信,因为您没有显式添加核心库依赖项。消息传递依赖项下载所有 Firebase 之一。

尝试同时添加核心和消息传递,以将事情限制在消息传递部分

compile 'com.google.firebase:firebase-core:9.0.1'
compile 'com.google.firebase:firebase-messaging:9.0.1'

您包含的库比您需要的多,因为您使用的是通用播放服务库,而不是使用拆分库,如播放服务驱动器或其他一些特定库。

通过使用 play-services:9.0.2,你是说你想在 Google Play 服务中包含所有库,包括所有 Firebase 服务。

删除 play-services:9.0.2 依赖项并将其替换为特定的依赖项,例如 play-services-drive:9.0.2(取决于您要使用的 API)应该可以解决您的问题。