'Cannot resolve symbol' 和 'No resource found that matches the given name' - 不重复
'Cannot resolve symbol' and 'No resource found that matches the given name' - not a duplicate
我昨天在Android工作室打开了我的项目,到处都是红色的'Cannot resolve symbol'作为描述。这完全是随机的,因为自从我上次打开项目以来,项目或 AS 都没有发生任何变化。我最终将 Android Studio 更新到 2.0 并尝试了一系列我在网上找到的解决方案,但没有任何效果。
喜欢this的家伙,我已经试过了:
- 重建项目
- 正在清理项目
- 正在与 Gradle 个文件同步
- 关闭项目,关闭 AS 并重新启动/重新打开
- 文件 > 使缓存无效/重新启动
- 正在检查 Lint,没有看到任何明显的东西
- 仔细检查 SDK 管理器中的所有支持库都是最新的
- 正在检查我的 Build.gradle,虽然没有任何变化并且与往常一样,但它一直在工作。
我也尝试了以下步骤(来自接受的答案):
- 退出Android工作室
- 正在备份你的项目
- 正在删除所有 .iml 文件和 .idea 文件夹
- 重新启动 Android Studio 并重新导入项目
我也试过:
- 正在删除 build.gradle
中的 'proguard' 条目
- 在首选项中更改为 "Use default gradle wrapper"
另一个解决方案是将 'buildTypes' 移动到 build.gradle 中,但 'buildTypes' 已经在 Android 部分的底部
如果 "duplicate" 解决了同样的问题但没有解决我的问题,请不要将其标记为重复。
以下是部分截图:
如您所见,颜色'white' 确实存在:
R 错误无处不在:
这些错误也无处不在:
为什么有两个res
目录,为什么有必要资源的目录是java
目录的子目录?这可能有关系吗?截图在这里:
编辑:我在 res
主目录中创建了一个 drawable
目录,并添加了一个不会被构建变体拾取的可绘制对象。它删除了相关的 'Cannot resolve symbol' 错误。但是当我删除主 res
并尝试将 java
子目录中的整个 res 目录移动到 main
目录时,我收到以下错误:
编辑:我通过删除外部 res
目录,复制 java
目录中的那个,将其粘贴到 main
目录中,然后删除那个在 java
目录中。我不知道这些是如何移动的。可能是按照'solution'删除并重新导入项目造成的。它是否真的在我不知道的设备上正常运行,因为 Android Studio 在过去的 20-30 分钟内挂起(有时会挂起)。如果确实如此,我可能会用我为最终解决问题所做的工作来回答我自己的问题。
错误显示您在 color
常量中没有值 white
。
请检查您所有的资源文件(colors.xml
、strings.xml
等等)- 您有行吗
<color name="white">#FFFFFF</color>
其中之一?
尝试完全创建一个新项目,然后复制并粘贴所有内容。 XML 文件、类 等。这应该可以解决您的问题。
最终通过移动(通过复制、粘贴和删除,因为 AS 不允许我移动它)一个因删除和重新导入项目而丢失的 res
目录来尝试修复它最初。我不知道哪一种解决方案有效,但其中一种必须有效。在重新导入 'solution' 破坏了它之后,我不得不再次修复我的项目。 res
目录是 java
的子目录,而它本应作为 main
.
的子目录向上一级
我昨天在Android工作室打开了我的项目,到处都是红色的'Cannot resolve symbol'作为描述。这完全是随机的,因为自从我上次打开项目以来,项目或 AS 都没有发生任何变化。我最终将 Android Studio 更新到 2.0 并尝试了一系列我在网上找到的解决方案,但没有任何效果。
喜欢this的家伙,我已经试过了:
- 重建项目
- 正在清理项目
- 正在与 Gradle 个文件同步
- 关闭项目,关闭 AS 并重新启动/重新打开
- 文件 > 使缓存无效/重新启动
- 正在检查 Lint,没有看到任何明显的东西
- 仔细检查 SDK 管理器中的所有支持库都是最新的
- 正在检查我的 Build.gradle,虽然没有任何变化并且与往常一样,但它一直在工作。
我也尝试了以下步骤(来自接受的答案):
- 退出Android工作室
- 正在备份你的项目
- 正在删除所有 .iml 文件和 .idea 文件夹
- 重新启动 Android Studio 并重新导入项目
我也试过:
- 正在删除 build.gradle 中的 'proguard' 条目
- 在首选项中更改为 "Use default gradle wrapper"
另一个解决方案是将 'buildTypes' 移动到 build.gradle 中,但 'buildTypes' 已经在 Android 部分的底部
如果 "duplicate" 解决了同样的问题但没有解决我的问题,请不要将其标记为重复。
以下是部分截图:
如您所见,颜色'white' 确实存在:
R 错误无处不在:
这些错误也无处不在:
为什么有两个res
目录,为什么有必要资源的目录是java
目录的子目录?这可能有关系吗?截图在这里:
编辑:我在 res
主目录中创建了一个 drawable
目录,并添加了一个不会被构建变体拾取的可绘制对象。它删除了相关的 'Cannot resolve symbol' 错误。但是当我删除主 res
并尝试将 java
子目录中的整个 res 目录移动到 main
目录时,我收到以下错误:
编辑:我通过删除外部 res
目录,复制 java
目录中的那个,将其粘贴到 main
目录中,然后删除那个在 java
目录中。我不知道这些是如何移动的。可能是按照'solution'删除并重新导入项目造成的。它是否真的在我不知道的设备上正常运行,因为 Android Studio 在过去的 20-30 分钟内挂起(有时会挂起)。如果确实如此,我可能会用我为最终解决问题所做的工作来回答我自己的问题。
错误显示您在 color
常量中没有值 white
。
请检查您所有的资源文件(colors.xml
、strings.xml
等等)- 您有行吗
<color name="white">#FFFFFF</color>
其中之一?
尝试完全创建一个新项目,然后复制并粘贴所有内容。 XML 文件、类 等。这应该可以解决您的问题。
最终通过移动(通过复制、粘贴和删除,因为 AS 不允许我移动它)一个因删除和重新导入项目而丢失的 res
目录来尝试修复它最初。我不知道哪一种解决方案有效,但其中一种必须有效。在重新导入 'solution' 破坏了它之后,我不得不再次修复我的项目。 res
目录是 java
的子目录,而它本应作为 main
.