无法在colors.xml文件中创建新的颜色项目


76

我得到的错误是:“值中的颜色“ colorRed”在基本值文件夹中没有声明;这会导致在与该限定符少匹配的配置中查询资源时崩溃……”

我尝试过清理项目并重建,还尝试使高速缓存无效并重新启动,但该错误仍然存​​在。

我已附上colors.xml文件的屏幕截图

在此处输入图片说明


为什么所有颜色名称都有错误?他们是重复还是什么?
Nagendra Hari Karthick

这就是我的想法。而且它们不会重复使用,它们都是唯一的名称,即使我删除所有这些名称并创建新名称,它也会给出相同的错误,但是对于前5个名称,我不会出错。
克里希纳Ch '18

@GowthamanM已经很累了,但是没有运气,但错误仍然存​​在。
克里希纳Ch '18

2
如果将光标置于红线上方,则应给出错误原因。您还尝试过运行该应用程序吗?从我所看到的是,正确加载了颜色,因为它在侧面显示预览。
sunil sunny

3
我有这个完全相同的错误。我在基值文件夹中修改了WAS的colors.xml文件。我重新启动了Android Studio,但它消失了。我正在使用Android Studio 3.2 Canary14。它似乎是一个错误。我在此Canary版本中也遇到了其他资源问题。
metaphyze

Answers:


101

我解决了清理项目并重新构建的问题。如果不起作用,请使缓存无效并重新启动。

我正在使用Android Studio 3.2

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


17
使用文件使缓存无效>使缓存无效/重新启动...>使无效并重新启动
renklus

发生了dimens.xml,这是唯一有效的解决方案。
ir2pid

71

这是一个错误,它会发生在尺寸和其他方面。(不仅仅是颜色。)我第一次看到的是我升级到AS 3.2.1的那一天。

但是你可能并不需要清洗,重建或无效缓存。尝试这个:

(A)从基本文件夹和所有合格文件夹中剪切并保存(例如保存到NotePad)标记的XML。
(B)从基础文件夹开始重新粘贴

更新:10Jan2019 [Dumb and dumber]

实际上,甚至不需要剪切和粘贴。假设以下行给出了问题...

<string name="edit">Edit</string>

只需将标签更改为任何内容即可。例如

<xstring name="edit">Edit</string>

然后稍等片刻,然后再将其改回


22
您甚至不需要剪切和保存。只需按Ctrl + X,然后通常按Ctrl + V即可解决。
杰克·李

1
这是最快的解决方案
Cesar Castro

1
有人找到这个问题的最终解决方案吗?我可能听起来很懒,但实际上我已经厌倦了每次启动/重新启动Android Studio时都必须按Ctrl + X,按Ctrl + V的问题……
Andrei Mesh

@Andrei Meșină您正在使用哪个Android Studio版本?
Bad Loser

@BadLoser最新版本3.3.2
Andrei Mesh

19

这是一个奇怪的错误。但这是一种解决方法:在android studio中打开文件,然后选择所有文本。现在剪切所有文本并将其粘贴到同一位置。(或者简单地,转到有问题的文件并按-'ctrl + A'->'ctrl + x'->'ctrl + v'),这不会改变任何内容,但显然可以解决错误。


3
难以置信的解决方案。
zwh19年

3

我参加聚会可能有点晚,但是最新的Android Studio更新(v3.2 Canary 17)似乎已经解决了该错误。

我在颜色和资源上也遇到了类似的问题,而更新Studio似乎已解决了该问题。

希望这可以帮助!


3

此错误仍在AS3.4C10中发生...因此尚未解决。

对我来说,唯一的补救方法是从“文件”菜单中选择“无效的缓存/重新启动”。

RG


0

打开资源->添加新资源->选择“新颜色值..”我在Android 3.3.1中使用的其他防御措施


0

我参加聚会很晚,但是我只是通过改变打字工作来解决了这个问题。我添加了一些空格,使其看起来更清晰,更易读,但突然红色的下划线和错误消息消失了。一定是种错误。(Studio 3.3.3)


是的,这可能是一个错误。我已经解决了清理项目并重新启动它的问题。
克里希纳

0

我有同样的错误。我只是在相同条件下运行了项目,错误消失了。


0

您是否从电子表格中粘贴了它?如果是这样,只需检查看起来像双引号的所有内容实际上就是双引号。电子表格是构建冗长的资源文件,将xml格式化文本的单元格连接在名称和项等单元格周围的一种好方法,但是您可能会发现以双引号开头的那些单元格(例如“”)通常会有特殊的打开/ close-quote字符,它们看起来像真实的东西,但是它们不会被识别为xml文本指示符,因此,例如,如果您的对象名称从未被初始化,则将出现此错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.