【问题标题】:How to link a Library project in Android Studio如何在 Android Studio 中链接库项目
【发布时间】:2014-12-13 15:28:55
【问题描述】:

我最近下载了Android Studio,现在我正在尝试构建我之前使用 Eclipse 的项目。该项目还利用了 GoogleMap API。

在我使用它并导入库的代码中

import com.google.android.gms.location.LocationClient;

它显示错误:

Error:(40, 39) error: cannot find symbol class LocationClient

我有 google-play-services_lib 的代码,我已将其作为 Eclipse 中的库链接到项目中,并且运行良好。

但我不知道如何为 Android Studio 做同样的事情,请帮忙。

【问题讨论】:

    标签: java android android-studio


    【解决方案1】:

    专门针对 Google Play 服务,首先,安装 SDK 管理器中的“Google 存储库”。

    然后,将对 com.google.android.gms:play-services 的适当依赖添加到您的 dependencies 闭包中:

    apply plugin: 'com.android.application'
    
    dependencies {
      compile 'com.google.android.gms:play-services:6.1.71'
    }
    
    android {
     // your project configuration goes here
    }
    

    有一个较新的版本,提供more modular dependencies,您可以探索,但我会从 6.1.71 开始,以便在您使用较新版本进行优化之前先了解基础知识。

    【讨论】:

    • 我只是检查了compile 'com.google.android.gms:play-services:+' 已经存在于 Project > app > build.gradle > dependencies 中
    • @Maven:我会用更具体的东西(至少6.1.+)替换+
    • @CommonsWare:感谢您的链接。您如何如此快速地获取所有这些信息?有没有可以推荐的博客?
    • @MartinPfeffer: android-developers.blogspot.com 是其中一些内容被宣布的地方。
    【解决方案2】:

    恢复到旧版本的 Google Play 服务库 com.google.android.gms:play-services:6.1.71 将起作用,但根据 Google 在库的 6.5 版中,LocationClient 已弃用:

    已弃用的客户端 - ActivityRecognitionClient、LocationClient 和 PlusClient 类已弃用。如果您在应用程序中使用了这些 API,并且想要调用 Google Play 服务 6.5 或更高版本的 API,则必须切换到利用 GoogleApiClient 的新编程模型。有关使用 GoogleApiClient 的更多信息,请参阅访问 Google API。 使用这些 API 代替已弃用的 API: 如果您之前使用的是 ActivityRecognitionClient,请改为调用 ActivityRecognition。 如果您之前使用的是 LocationClient,请改为调用 com.google.android.gms.location 包中的 API。 如果您之前使用的是 PlusClient,请改为调用 com.google.android.gms.plus 包中的 API。

    如果您想要使用新的 GoogleApiClient 检索位置的示例,请参阅 this 帖子。

    Source

    【讨论】:

    • 感谢分享。节省了我的时间!
    【解决方案3】:

    Android Studio 使用 gradle 构建系统,你应该使用依赖而不是库项目。 在你的模块目录中找到 build.gradle 并将其添加到底部

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

    解释here

    【讨论】:

    • 我收到Could not find method compile() for arguments [com.google.android.gms:play-services:6.5.87] on org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated...
    • @maven 首先。您必须将依赖项添加到 AndroidStudioProjects/Project/Project/build.gradle,而不是 AndroidStudioProjects/Project/build.gradle 其次,您应该从 SDK Manager (dir Extra) 下载 Google Play Services
    【解决方案4】:

    右键单击项目名称,然后选择“打开模块设置”。 它将显示一个带有一些选项卡的窗口。 转到“依赖项”选项卡,查看是否添加了“play-service (com.google.android.gms:play-services:x.x.xx)”。 如果没有,请单击右上角的“+”号选择“模块依赖项”。 您将看到依赖项列表选择“play-service (com.google.android.gms:play-services:x.x.xx)”并单击确定。 比在窗口应用和确定。 是的,不要忘记同步 gradle,否则更改可能不起作用。

    希望这能解决您的问题。

    【讨论】:

      猜你喜欢
      • 2018-07-14
      • 2018-01-07
      • 2015-01-31
      • 2017-09-25
      • 2017-04-20
      • 2019-09-12
      • 2013-12-21
      • 2016-04-23
      • 1970-01-01
      相关资源
      最近更新 更多