在我获得一台新计算机后,尝试从备份中恢复以前正在运行的Android Studio项目几天后,我有一个非常烦人的问题。
我有“无法解析符号”语法突出显示来自Android库的类的问题,例如我android.support.v7.app
,android.support.v4.app
和Google Play服务作为依赖。
但是,该项目构建良好,我可以在手机上运行应用程序,没有任何问题。
我已经验证了SDK安装下是否存在这些jar文件 - 例如“\ SDK \演员\机器人\ m2repository \ COM \机器人\ SUPPORT \程序兼容性-V7 \ 23.0.1”。
我的问题与以下帖子中报道的问题非常相似:
我已经尝试了各种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无法导入依赖库以进行语法突出显示,尽管编译器能够包含它们并成功构建。
答案 0 :(得分:3)
原因是我的项目路径中有一个&#39; <&#39; 符号。 显然,正如我现在所知,许多Java程序因此而失败! :-)
我刚刚重命名了路径,现在工作正常:-)
P.S。
感谢@ gabriele-mariotti提出的gradlew clean
建议。事实上,这帮助我找到了真正的根本原因。由于gradlew
:
RuntimeException
Could not determine wrapper version. at org.gradle.wrapper.GradleWrapperMain.wrapperVersion
但这帮助我了解了&#39;!&#39;路径上的符号,以及问题的根本原因。谢谢大家!
答案 1 :(得分:1)
你可以尝试:
Module Settings
,更改compile SDK version
的值(您可以选择最低版本号)确保您已导入:
import android.support.v4.app.FragmentActivity
再次打开Module Settings
,您应该在更改之前更改compile SDK version
原始版本号。
答案 2 :(得分:0)
我在我们的项目中的两个库 com.koushikdutta.ion 和 uk.co.senab.photoview 遇到了同样的问题,尽管我们在应用程序项目,但在库项目中被声明为依赖项。 症状是这样的:
我的解决方案如下:首先,关闭Android Studio。然后:
cd <your-project-folder>
mv .idea/ .idea-old/
mv <projectname>.iml <projectname>.iml-old
重新打开Android Studio,但选择“打开现有的Android Studio项目”选项。等待项目得到修复并享受完美的清洁。