【问题标题】:Android Studio “cannot resolve symbol R” but project compiles and runsAndroid Studio“无法解析符号 R”但项目编译并运行
【发布时间】:2018-11-18 11:15:02
【问题描述】:

Android Studio 在所有 java 文件中显示为红色:“无法解析符号 R”,但项目编译并运行。

我在这里尝试了所有解决方案: Android Studio "cannot resolve symbol" but project compiles and works,但没有运气。

我试过了:

  • 使缓存失效并重启android studio

  • 删除 .gradle 和 .idea 文件夹

  • 清理并重建项目

  • 安装新版本的android studio

  • 弄乱 gradle 文件然后撤消更改并同步项目

我想尝试但不知道如何实现的一件事是在我第一次打开项目时从头开始重新打开项目,但我不知道该怎么做。

我也尝试过这里的答案: Android Studio says "cannot resolve symbol" but project compiles, 但又一次没有运气。

Android 工作室版本 = 3.2.1

gradle 项目文件中的依赖版本:

classpath 'com.android.tools.build:gradle:3.4.0-alpha01'
classpath 'com.google.gms:google-services:4.0.0'

【问题讨论】:

  • 另外,请检查您是否添加了名称不允许的资源文件。它只能包含小写字母 a-z、0-9 或下划线。如果你有什么不同,你就会有问题。
  • Do-> 使缓存无效/重新启动。

标签: android-studio


【解决方案1】:

由于某种我不明白的原因,

这种构建版本的组合产生了问题:

grade version = 4.10.1

classpath 'com.android.tools.build:gradle:3.4.0-alpha01'

当我切换到这些构建版本时:

grade version = 4.6

classpath 'com.android.tools.build:gradle:3.2.1'

问题解决了!

【讨论】:

  • 对我来说也是如此,虽然我离开了 4.10.1 并且只从 com.android.tools.build:gradle:3.3.1 --> 3.2.1
  • 不幸的是,我的项目需要 gradle 版本 4.10.1 作为最低版本。
【解决方案2】:
  1. 文件 -> 关闭项目
  2. 打开现有的 Android Studio 项目
  3. 打开你的项目

希望它会起作用。

【讨论】:

    【解决方案3】:

    有时,由于 android manifest 上的包名与您拥有的包模块不匹配,不会生成 R 文件。

    【讨论】:

      【解决方案4】:

      您的 xml 中是否有任何错误的语法或拼写?

      检查您的布局或任何 xml 文件。

      【讨论】:

      • 勾选这个选项,OP。这是一个常见问题。
      • 我正在处理一个大型项目,因此很难遍历所有布局文件以了解是否存在语法错误...您知道我可以做些什么来确定我是否有布局文件中的语法错误?
      • @user2469133 Try Analyze->Inspect Code,然后你可以在检查结果中发现一些错误和警告。
      【解决方案5】:

      Android Studio 似乎偶尔会遇到 R.java 的缓存问题。我很少遇到这个问题,但是当我这样做时,我实际上打开了 R.java(双击 shift 并键入“R.java”)或导航到“app/build/generated/source”目录下的 R.java,打开该文件并检查是否已创建相关的 XML id。如果有,它会强制 Android Studio 现在识别未解析的 id。快速尝试,不需要清理和重建。

      【讨论】:

        【解决方案6】:

        从您的程序菜单中,打开 android studio。不要从最近的文件中打开您的项目,而是选择从您的计算机中打开一个项目,然后找到您的项目的路径。当所有其他方法都失败时,有时这会起作用。

        另外,请尝试从您的 gradle 实现中注释掉支持库,同步您的项目,并在同步失败后将它们重新注释并再次同步。 (不确定当您说您弄乱了 gradle 文件时是否已经尝试过)

        【讨论】:

        • 我也试过了,但我没有工作,我什至更改了项目位置并将其从 android studio 最近的项目中删除,然后从新位置再次打开它,但它似乎同步非常快,因为那里仍然缓存着一些东西!
        • 还尝试了您在答案第二部分中提到的内容(评论支持库.....),但没有运气
        【解决方案7】:

        就我而言,

        我正在使用 - Android Studio 版本 3.3.1 在家 - 办公室的 Android Studio 版本 3.2.1

        当我将最初在我家电脑上创建的项目拉到我的办公室电脑上时, Android Studio 无法解析 R 文件,但运行应用程序时没有错误。因为项目 gradle 和 Android Studio 版本不兼容。

        你唯一应该做的,改变项目级 gradle 文件中的 gradle 版本

          classpath 'com.android.tools.build:gradle:3.3.1'
        

          classpath 'com.android.tools.build:gradle:3.2.1'
        

        【讨论】:

          【解决方案8】:

          我遇到了同样的问题,

          首先认为问题可能是由于某些 xml 文件或可绘制资源的命名不正确。经分析,本案不适用于我。 所以

          将 Android Studio 从旧版本 3.2 更新到新版本 3.3.2 以及来自 SDK 管理器的新构建工具版本解决了这个问题 对我来说。

          我尝试过使缓存无效并重新启动 AS 并重新构建所有选项,但对我不起作用。

          【讨论】:

            【解决方案9】:

            它说无法解析符号,但它可以运行。

            1. 就我而言,我只是将所需的 *.jar 文件重新加载到 libs 文件夹中。

            2. 文件 >> 使缓存无效/重新启动

            3. 重建项目

            4. 同步

            5. 运行

            为我工作!
            看起来图书馆第一次没有正确加载我的“导入”。
            这就是为什么在我的 main_activity.xml 中看不到导入方法的原因。

            【讨论】:

              【解决方案10】:

              当我在不同的 SDK 版本之间来回切换时,这发生在我身上。

              显然,SDK 管理器复制了所有源文件,但没有完全完成。结果,我可以很好地编译和运行我的项目,但 IDE 无法识别 SDK 并报告所有未解析的 java 符号。

              上述和 SO 中的其他解决方案都不适用于我,但只需卸载/重新安装特定的 SDK 版本就可以了。

              【讨论】:

                【解决方案11】:

                如果您重命名了您的包(在 java 文件夹内),请确保将您的 Manifest 包名称更改为相同

                【讨论】:

                  【解决方案12】:

                  唯一对我有用的是,

                  替换,

                  import package_name.R

                  import package_name.*

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2016-10-26
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2015-09-04
                    • 1970-01-01
                    • 2018-05-14
                    相关资源
                    最近更新 更多