Android Studio – “无法解析符号”语法突出显示错误,尽管构建正常

在获得一台新计算机后,我尝试从备份恢复以前正在运行的Android Studio项目几天后,我有一个非常烦人的问题。

我有来自Android库的类的“无法解析符号”语法高亮问题,例如android.support.v7.appandroid.support.v4.app和Google Play Services,我已将其作为依赖项包含在内。 但是,该项目构建良好,我可以在手机上运行应用程序没有问题。

我已经validation了SDK安装下是否存在这些jar文件 – 例如“\ sdk \ extras \ android \ m2repository \ com \ android \ support \ appcompat-v7 \ 23.0.1”。

我的问题非常类似于以下post中报道的问题:

  1. Android Studio说“无法解析符号”但项目编译
  2. Android Studio无法解析符号,但代码正确执行
  3. Android Studio突然无法解析符号

我已经尝试了各种stackoverflow讨论中提供的所有解决方案(即同步Gradle项目,无效缓存/重启,清理/重建,删除gradle生成的文件(.gradle,build,.idea目录等),降级到较低的API和升级等但是,没有方法是有帮助的。

我使用Android Studio 1.3.2和API 23.所有构建工具,支持库等都是最新的(尝试使用v22。+和v23。+库)。

如果您有任何其他建议,请帮忙!

从我的build.gradle中提取:

 apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion '23.0.1' defaultConfig { applicationId "com.myapp.fun" minSdkVersion 22 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:support-v4:22.+' compile 'com.android.support:appcompat-v7:22.+' } 

问题的屏幕截图也可以在下面找到。 我认为Android Studio无法导入依赖库以进行语法突出显示,尽管编译器能够包含它们并成功构建。

截图语法高亮和自动完成问题

原因是因为我有‘!’ 我的项目路径中的符号。 显然,正如我现在所知,许多Java程序因此而失败! 🙂

我刚刚重命名了路径,现在工作正常:-)


PS

谢谢你@gabriele-mariotti的gradlew clean建议。 事实上,这帮助我找到了真正的根本原因。 由于RuntimeException我无法从终端运行gradlew

 Could not determine wrapper version. at org.gradle.wrapper.GradleWrapperMain.wrapperVersion 

但这有助于我了解’!’的效果 路径上的符号,以及问题的根本原因。 谢谢你们!

你可以尝试:

  • 打开Module Settings ,更改compile SDK version的值(可以选择最小版本号)
  • 等待Android Studio完成刷新
  • 确保您已导入:
    import android.support.v4.app.FragmentActivity

  • 再次打开“ Module Settings ,您应该在更改之前更改compile SDK version ,即原始版本号。

  • 等待Android Studio完成刷新

我在我们的项目com.koushikdutta.ionuk.co.senab.photoview中遇到了同样的问题,这些库在我们的多应用程序项目中使用,但在库项目的深处被声明为依赖项。 症状是这样的:

  • 我可以完美地编译和运行应用程序
  • IDE顽固地拒绝找到这些库的类,并且不可能导航到他们的源代码,许多错误(红色条)与使用它们的所有类相关联; 类用法以红色突出显示,没有代码建议,你可以命名。

我的解决方案如下:首先,关闭Android Studio。 然后 :

 cd  mv .idea/ .idea-old/ mv .iml .iml-old 

重新打开Android Studio,但选择“打开现有的Android Studio项目”选项。 等待项目重新分析并享受完美的清洁。