无法导入com.google.android.gms.location.LocationServices

d_e*_*d_e 24 android

我正在努力获得最准确的位置.

到目前为止,我在Google文档中成功使用了LocationClient:http: //developer.android.com/training/location/retrieve-current.html

但现在我发现这个类很老了:http: //developer.android.com/reference/com/google/android/gms/location/package-summary.html

"不推荐使用此类.使用LocationServices".

但是,在LocationServices的示例中,即使在此站点中: Android的LocationClient类也已弃用,但在文档中使用

看来我们应该使用import:com.google.android.gms.location.LocationServices但是我无法导入这个类..

有任何想法吗 ?

编辑:

我在这个页面找到了:h2ttps://github.com/M66B/XPrivacy/issues/1774

看似相似的问题,有人猜测: "似乎是Play服务5.0的一部分."
我想知道是不是这样 - 有人试过这个吗?

小智 43

确保您的gradle依赖项中包含以下项目:

dependencies {
    compile 'com.google.android.gms:play-services-location:7.+'
}
Run Code Online (Sandbox Code Playgroud)


Kar*_*rue 19

请不要使用 compile 'com.google.android.gms:play-services:9.0.1'

在6.5之前的Google Play服务版本中,您必须将整个API包编译到您的应用中.在某些情况下,这样做会使您的应用程序中的方法数量(包括框架API,库方法和您自己的代码)在65,536限制下更加困难.

从6.5版开始,您可以选择性地将Google Play服务API编译到您的应用中.例如,在您的情况下,您只需要这个.

compile 'com.google.android.gms:play-services-maps:9.0.1'
compile 'com.google.android.gms:play-services-location:9.0.1'
Run Code Online (Sandbox Code Playgroud)

要使用融合api获取最后一个位置,您必须拥有compile 'com.google.android.gms:play-services-location:9.0.1'.

欲获得更多信息

希望能帮助到你


Hir*_*awa 2

我遇到了同样的问题,并通过在 Android SDK Manager 中将 Google Play Services 从 17 更新到最新版本(当前为 22)来解决它,如评论中所述。

要在 Eclipse 中执行此操作:

  • 从 Eclipse 中删除 google-play-services_lib 项目
  • 按照添加 SDK 包的步骤 3 进行操作。当您启动 Android SDK Manager 时,它应该显示 Google Play 服务的“更新可用:修订版 22”。勾选后点击“安装N个包”进行更新。
  • 按照设置 Google Play 服务再次导入 google-play-services_lib 项目。