我正在升级一个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",但我想确认一下。你知道这是一个正确的假设吗?谢谢。
答案 0 :(得分:3)
来自Google Api Documentation
您可以使用最新的Google Play服务API:
dependencies {
compile 'com.google.android.gms:play-services:10.2.1'
}
如果您的应用中方法引用的数量超过 65K限制,您的应用可能无法编译。您可以通过仅指定应用使用的特定Google Play服务API而非全部API来编译应用时缓解此问题。
有选择地将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。