【问题标题】:Adding Google Play Services to non-gradle Android Studio project?将 Google Play 服务添加到非 gradle Android Studio 项目?
【发布时间】:2014-05-09 20:53:11
【问题描述】:

我有一个在没有 gradle 的情况下为 Android Studio 构建的现有项目 我正在尝试导入 Google Play 服务以修复 java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable 异常。

唯一的问题是它似乎不可能......我已经考虑将它移植到 gradle 但代码库相当大(40 多个活动),这将是一个 对于像我这样以前从未使用过 gradle 的人来说,这是一场噩梦。

我尝试从 SDK 导入 Google Play Services 项目,但它 永远挂起“创建 gradle 文件”。

之前有人有将此库加载到非 gradle 项目的经验吗?

顺便说一句,我尝试将项目加载到 Eclipse 中,看看是否可以 那样的东西,但是构建路径会自毁到我花了几个小时的地方 试图对它们进行排序无济于事。

【问题讨论】:

  • "是在没有 gradle 的情况下为 Android Studio 构建的" -- AFAIK,所有 Android Studio 构建都通过 Gradle。
  • 项目中的活动量不会使实施 Gradle 变得更加复杂。切换到 Gradle 非常简单。
  • 在我当前的项目中,我在没有 gradle 的情况下在 AS 中使用 Google Play 服务 - 这是我在 IntelliJ 想法中开始的,并在去年推出时移植到 AS(没有 gradle)。将播放服务添加到我的项目对我来说不是一个主要问题(它没有挂在 gradle 文件上)。我使用了来自 this 问题的一些东西来让它工作。或者您可以尝试使用 IntellJ 而不是 AS 来添加它,看看是否会有所不同。

标签: java android android-studio google-play-services


【解决方案1】:

SDK/Extras 目录复制库

  1. 使用您的 SDK 管理器下载 Google Play 服务 - 它位于 Extras 目录下。

  2. 转到您的 Android SDK 目录并找到 google-play-services_lib 目录,对我来说这是在 Android Studio 包中:

    /Applications/Android Studio.app/sdk/extras/google/google_play_services/libproject/google-play-services_lib/

  3. 将此整个目录复制到您项目的libs 目录。

  4. 像往常一样将其添加为模块依赖项。 (对于 Android Studio,请参阅下面的分步说明。)

  5. 您还需要将meta-tag 添加到您的AndroidManifest.xml 文件中,如下所示:

    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />

  6. 利润和派对?

Android Studio 步骤

一旦库项目已经在您的libs 目录中,将其添加为模块依赖项的步骤。

  1. File &gt; Import Module.

  2. 选择libs目录下的google-play-services_lib目录。

  3. 确保选中Create module from existing sources,然后单击Next,直到完成向导。

  4. Project Structure > Modules(最左侧)> 选择您的应用 > Dependencies 选项卡 > + > Module Dependency > google-play-services_lib

  5. Project Structure > Modules(最左侧)> 选择 google-play-services_lib > Dependencies 选项卡 > + > Jars or directories... > 查找并选择 libs/google-play-services_lib/libs/google-play-services.jar

    确保单击此依赖项的 Export 复选框。

  6. 利润和派对?

非常感谢 Adama Speakman 的 post 提供特定的 Android Studio 步骤。

日本

【讨论】:

  • 您好,我在第 2 步遇到问题。指定 google-play-services_lib 目录后,它不会启用下一个按钮,例如 this。如果可以,请提供帮助。
  • 您在使用 Android Studio 吗?哪个版本?
  • 我通过将 build.gradle 文件添加到 google-play-services_lib 文件夹中解决了这个问题。看起来 AS 基于这个文件来检测它是否是一个有效的模块。还是谢谢。
  • @KhanhNguyen 很高兴您找到了解决方案。您链接到的“更简单”的方法仅适用于您使用 Gradle 的情况,我不是,并且原始问题标题包括“非 gradle”。 ;)
  • 这在 2018 年还有可能吗?似乎它缺少 SDK/extras/google 文件夹中的 libproject 库。
猜你喜欢
  • 2013-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多