Java Android Studio无法解析符号,但代码执行正确

Java Android Studio无法解析符号,但代码执行正确,java,android,intellij-idea,android-activity,android-studio,Java,Android,Intellij Idea,Android Activity,Android Studio,我最近创建了一个库Jar文件,我在Android项目中导入了它。我能够调用这个Jar文件中的函数和类,但是Android Studio一直告诉我它不能“解析”我正在使用的类的符号。请参见下面的屏幕截图: 代码构建并成功执行。函数IsHisthingWorking()只返回true,这正是布尔blah的设置 我试过按下Sync Project with Gradle Files按钮,并从Android Studio的File菜单中使用Invalidate Caches/Restart…选项,但

我最近创建了一个库Jar文件,我在Android项目中导入了它。我能够调用这个Jar文件中的函数和类,但是Android Studio一直告诉我它不能“解析”我正在使用的类的符号。请参见下面的屏幕截图:

代码构建并成功执行。函数
IsHisthingWorking()
只返回
true
,这正是
布尔blah
的设置


我试过按下
Sync Project with Gradle Files
按钮,并从Android Studio的
File
菜单中使用
Invalidate Caches/Restart…
选项,但都没有解决问题。如何使Android Studio IDE不显示
无法解析符号“xxxSDK”
错误?

尝试将库添加到
项目结构中


要执行此操作,请在菜单上选择
文件
->
项目结构
。选择
Libraries
选项,然后单击绿色的
+
添加您的库。

编辑:对于大多数人来说,编辑更合适。我将此答案作为公认的答案,因为它解决了我的具体问题。

我发现问题-我的
SDK.jar
没有正确生成。它包括
.java
文件,而不是
.class
文件。这解释了IDE无法找到SDK类的原因。Jar中的包结构仍然正确,这就是包名本身不是红色的原因。代码工作正常,因为编译器知道如何编译
.java
文件


为了解决这个问题,我修改了SDK项目的
build.gradle
,以在创建Jar时包含
.class
文件,而不是
.java
文件。包括这个新的Jar而不是旧的Jar修复了IDE问题。

当IntelliJ IDEA因操作系统崩溃而突然关闭时,我遇到了这个问题


您可以执行“文件”->“使缓存无效…”,然后选择“使缓存无效并重新启动”选项来修复此问题。

在切换当前项目的分支后,我总是会遇到这种情况:IDE报告了许多无意义的错误

解决方案是修改并强制a
build.gradle
同步更改语言注入设置对我有效。 将光标放在任何带红色下划线的代码上,然后
Alt+Enter

现在选择
Language Injection Settings
,将打开一个窗口,如下所示

确保在
ID:
字段中选择了正确的文件类型,取消选中与错误代码相关的选项,然后单击“确定”

希望这对某人有所帮助。

尝试以下步骤:

  • 关闭项目,然后在项目文件夹中删除项目
    /。idea
  • 同时删除
    /.gradle
    文件夹
  • 不要从android studio左上方的菜单中选择
    文件
    选项
  • 选择选项:
    invalidatecache/Restart
    它将打开一个对话框
  • 单击带有选项的第一个按钮:
    invalidateandrestart

  • 在尝试了以上选项后,一切都会正常工作。

    这个问题在android 3.1中经常出现。我已经试过了所有可能的方法。但当我删除.gradle.idea文件并启动已经关闭的Android studio时,问题就解决了

    Android studio再次为您的项目创建.idea.gradle文件。在此之后,单击与gradle同步项目。现在一切正常

    对我来说只起作用

    文件->打开->然后单击build.gradle重新打开project

    这对我很有效:


    转到
    文件
    ->
    与Gradle文件同步项目

    关闭Android Studio并删除构建文件夹。重新打开Android Studio,必要时按“与Gradle同步”。这是唯一有效的方法。

    我已经在Jar上添加了它,方法是右键单击Jar并选择
    添加为库
    选项。谢谢:)我和你一样的问题,在操作系统崩溃后:在大量混乱之后,这个问题已经解决了。这主要发生在Eclipse导入的项目上。感谢您发布这篇文章。这是正确的解决方案。这节省了我很多时间!非常感谢。我花了大约三天的时间来研究其他的解决方案,但直到我这么做之前,没有一个能完全奏效!这是有道理的。如果.jar不属于我怎么办。如何将它从.java转换到.class?您必须编译java文件。对不起,我对“.java”文件没有依赖关系。你能发布build.gradle文件中的行吗?你有什么依赖关系?你是什么意思?我已经接受了解决我具体问题的答案。这里投票最多的答案适用于大多数有相同问题的人。不幸的是,我不熟悉任何其他解决方案。@grAPPfruit问题的前提不同,发布日期早于您链接的问题。2018年,当您的Android Studio和Gradle不同意时,这种情况仍然可能发生。我用这里讨论的三个选项修复了它:相关的帖子&也为我工作,谢谢!