【问题标题】:Google play services after importing to AS from Eclipse从 Eclipse 导入 AS 后的 Google play 服务
【发布时间】:2016-11-07 14:53:20
【问题描述】:

我刚刚将一个项目从 Eclipse 导入到 AS。在项目中,我使用的是 Google Maps,而在 Eclipse 中,清单中有以下几行:

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

导入项目留下了这些行。使用 Gradle 时,我现在是否仍需要它们在清单中,或者我可以将这一行添加到 gradle.build 中吗?

compile 'com.google.android.gms:play-services:9.4.0'

【问题讨论】:

  • 您需要另一个 Gradle 文件中的 classpath 行。您还应该将 Google play 服务拆分为您实际需要的服务,而不是编译所有服务。 developers.google.com/android/guides/setup#splitdevelopers.google.com/android/guides/google-services-plugin
  • 什么是类路径行?那是我在我的问题中发布的那个吗?这是否意味着我可以从清单中删除元数据行?
  • 哦,我刚刚在您给我的链接中看到它。 classpath 行是属于项目 gradle 文件还是 app gradle 文件?
  • 如果您在 Android Studio 上创建一个新的 google maps 项目并查看 gradle,您可以自己回答

标签: android eclipse android-studio


【解决方案1】:

简答 - 两者都需要

说明(如果需要)

Gradle 行基本上告诉 Gradle 拉入名为“com.google.android.gms:play-services”的库和版本“9.4.0”。这只是您想要包含在项目中的一堆代码。 (这是很多代码,当您的项目看起来更大时,您会希望将其拆分为您使用的组件)

元数据用于与 Gradle 依赖项不同的事情 - 特别是在您的情况下,您在这里使用它来:

  • 提供您的 google api 密钥,然后,
  • 提供您的 google play 服务版本号

注意:隐藏您的 API 密钥!!!!(只需谷歌“我为什么要隐藏我的 api 密钥”)

版本号是您的应用期望使用的版本,如果您使用的是旧版本或解决方法,您可以指定它。通常,这些字段仅用于显示地图。

API 密钥用于访问您的应用程序的 Web 控制台应用程序客户端,即您链接到 Android Studio 应用程序的 Google API 控制台上的应用程序。这不是您希望在 Stack Overflow 上公开展示的内容。

希望有帮助:)

【讨论】:

  • 我正在做的事情有问题.. 清单文件无法识别 @integer/google_play_services_version 并且我已经阅读了一个我将播放服务引用到我的项目的文件,应该是整数会自动解决。我在项目中添加播放服务的方式可能存在什么问题?
  • 这是不时出现的东西。如果清理(构建/清理项目)并再次构建不能解决它,那么您可能有一个不匹配的 Play 服务版本,或者其他过时的东西。用一些代码和堆栈跟踪更新您的问题,我应该能够提供帮助。你没有在你的项目中包含@integer/google_play_services_version,它是由谷歌库添加的,所以你不能真正改变它。您应该能够对其进行硬编码,但您不想这样做
  • 还要检查您是否确实需要它,因为我正在开发的应用程序中没有它,它适用于地图。但是,您仍然可能需要它,只要确保您这样做,如果这阻碍了您
  • 这可能是因为我遇到了其他问题.. 请注意看一下我发布的另一个问题,您也许可以同时解决这两个问题:stackoverflow.com/questions/40482184/…
  • 您的问题可能有很多,所以我必须深入研究它。如果它构建并且你有所有这些问题,我的建议是删除所有的罐子,注释掉代码直到你可以构建,然后在每个代码之后一个接一个地添加它们并取消注释代码,检查它是否进入. 确保你也没有在发布版本中构建,并且检查 Jars 是否正在构建并且在它们被 jar 化时没有对它们运行任何类型的混淆(或者你的类不会是在运行时在那里)。这个问题不应该真的导致这个问题 - 尝试更新到谷歌服务 9.8.0。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多