"播放服务:9.8.0"包括"播放服务 - 位置:9.8.0"?

时间:2017-03-30 16:30:57

标签: android push-notification urbanairship.com

我正在升级一个App,在我的build.gradle文件中,我有这个:

dependencies {
    ..........
    compile 'com.google.android.gms:play-services:9.8.0'
    ..........
}

在Urban Airship提供的Android SDK设置快速入门指南中,他们将此作为示例代码提供:

dependencies {
    ..........
    // Recommended for location services
    compile 'com.google.android.gms:play-services-location:9.8.0'
    ..........
}

如果我使用"播放服务:9.8.0"我认为它还包括" play-services-location:9.8.0"因为" play-services-location:9.8.0"应该是播放服务的一部分:9.8.0",但我想确认一下。你知道这是一个正确的假设吗?谢谢。

2 个答案:

答案 0 :(得分:3)

来自Google Api Documentation

您可以使用最新的Google Play服务API:

 dependencies {
    compile 'com.google.android.gms:play-services:10.2.1'
}

如果您的应用中方法引用的数量超过 65K限制,您的应用可能无法编译。您可以通过仅指定应用使用的特定Google Play服务API而非全部API来编译应用时缓解此问题。

enter image description here

有选择地将API编译到可执行文件中:

 compile 'com.google.android.gms:play-services-maps:10.2.1'
compile 'com.google.android.gms:play-services-plus:10.2.1'
compile 'com.google.android.gms:play-services-location:10.2.1'
compile 'com.google.android.gms:play-services-games:10.2.1'
compile 'com.google.android.gms:play-services-gcm:10.2.1'

详细列表在文档中提供。

答案 1 :(得分:1)

是的,play-services是完整的捆绑包。它们被拆散以减少您的应用的方法数量,因此您不会点击the dex limit。可以找到更多信息here