Android Studio – “无法解析符号”语法突出显示错误,尽管构建正常
在获得一台新计算机后,我尝试从备份恢复以前正在运行的Android Studio项目几天后,我有一个非常烦人的问题。
我有来自Android库的类的“无法解析符号”语法高亮问题,例如android.support.v7.app
, android.support.v4.app
和Google Play Services,我已将其作为依赖项包含在内。 但是,该项目构建良好,我可以在手机上运行应用程序没有问题。
我已经validation了SDK安装下是否存在这些jar文件 – 例如“\ sdk \ extras \ android \ m2repository \ com \ android \ support \ appcompat-v7 \ 23.0.1”。
我的问题非常类似于以下post中报道的问题:
- Android Studio说“无法解析符号”但项目编译
- Android Studio无法解析符号,但代码正确执行
- 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.ion和uk.co.senab.photoview中遇到了同样的问题,这些库在我们的多应用程序项目中使用,但在库项目的深处被声明为依赖项。 症状是这样的:
- 我可以完美地编译和运行应用程序
- IDE顽固地拒绝找到这些库的类,并且不可能导航到他们的源代码,许多错误(红色条)与使用它们的所有类相关联; 类用法以红色突出显示,没有代码建议,你可以命名。
我的解决方案如下:首先,关闭Android Studio。 然后 :
cd mv .idea/ .idea-old/ mv .iml .iml-old
重新打开Android Studio,但选择“打开现有的Android Studio项目”选项。 等待项目重新分析并享受完美的清洁。