【问题标题】:Android studio cannot resolve symbol common, missing from android.gms packageAndroid Studio 无法解析 android.gms 包中缺少的常见符号
【发布时间】:2014-10-30 10:01:14
【问题描述】:

我正在制作一款使用 Google Play 服务的游戏。我最近从 eclipse 切换到 Android Studio(现在运行 0.8.14)。在 android studio 中,我添加了一个“Google Play Services Activity”,并让我的游戏类扩展了该类。我没有修改就离开了服务类。该项目编译并运行良好,但 IDE 充满错误,因为它“无法解析符号 'common'”和“无法解析符号 'games'”

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.games.Games;

关于为什么会这样以及如何解决它的任何想法?

我在删除所有 .iml 文件和 .idea 文件夹后尝试重新导入我的项目,但没有结果。

[编辑]

根据要求,我正在添加错误的屏幕截图:

[编辑 2]

我一直在寻找解决方案,虽然我没有找到任何解决方案,但我现在有一个屏幕截图可能会更有帮助。

如您所见,com.google.android.gms 包似乎缺少 common 和 games 包。

我尝试过更新 gradle,尝试使用 JDK 1.7 而不是 1.8,并尝试多次与 gradle 同步。我会继续寻找答案,但如果您以前遇到过这种情况,请随时帮助我和其他人。

【问题讨论】:

  • 如果编译正确,IDE 会以何种方式“充满错误”? “无法解析符号”的错误对我来说听起来像是编译器错误......
  • 例如:protected GoogleApiClient mGoogleApiClient;:GoogleApiClient 被标记为红色,并带有消息“无法解析符号 'GoogleApiClient'”,因为 android studio 无法找到导入。为什么它编译和运行超出了我的理解 - 我以前从未见过它发生过。
  • 这听起来像是 not 正在编译 - 如果 IDE 显示错误,它们就是编译时错误。尽管出现错误,它可能允许您尝试运行代码,但这并不意味着它编译正确......

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


【解决方案1】:

将此添加到您的build.gradle

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

【讨论】:

  • 没有效果。我可能会补充一点,我以前使用的是compile 'com.google.android.gms:play-services:6.1.+'
  • 6+ 仅适用于 sdk 21,对于较旧的 sdk,它会出错。尝试 6+ 和 sdk 21 或 5+ 和 sdk 19
  • 我的目标是 sdk 15,我需要为此使用较低的播放服务吗?
  • 对我来说就是这样。服务 6+ 不想在任何小于 21 的 sdk 上编译。所以,是的,为您的情况尝试 5+。
  • 似乎没有解决我的问题。不过可能对其他人有用。
【解决方案2】:

我终于找到了真正的问题。显然,我的项目包含在一个以感叹号结尾的文件夹中。 (myProjectName!) 这导致 Android Studio 无法找到某些导入。

解决方案:我从 myProjectName 重命名了我的项目!到 myProjectName 并将整个项目移动到一个没有尾随感叹号的新文件夹。这似乎解决了所有问题。

【讨论】:

猜你喜欢
  • 2023-04-02
  • 2018-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-15
  • 1970-01-01
  • 2015-12-17
相关资源
最近更新 更多