R文件丢失的解决方法

来源:互联网 发布:第三方网络推广平台 编辑:程序博客网 时间:2024/04/28 16:23

  一般来说,Android项目是的R文件是由系统生成的资源的定义,但是偶尔会出现R文件不同步或是丢失的情况。

1.  不同步的情况,即在RES文件里面已经存在了一项,但是在R.java文件中却还没有定义,这里可以点击,Project->Clean, 选择项目,然后选中"Start a build immediately",即可重建R文件。

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

       注意:有时候,!!!R.java这个文件是会自动生成的。但是有时候你写错xml文件的时候,R.java是不会自动生成对应的值。这个时候我们会很习惯去clean一下这个项目,这个时候会突然发现,R.java竟然不见了。

       这个时候的你肯定非常的气愤,你可能会拼命在网上找答案,网上会有很多答案告诉你 右键项目--》Android Tools--> fix project properties。可能你怎么fix都不能把R.java弄出来。这个时候你就要考虑一下是不是某些xml写错了,出了问题。只要xml文件有问题,系统是绝对不会给你自动生成这个R.java文件,因为他要参照你的每张xml里的数据来生成R.java,所以自然就生成不了了。

       所以当你clear项目以后,错误就变了,跟变成空包,错误也是src包中的错误,若果你遇到这样的错误,并且项目中几十个xml文件,那肯定要郁闷死了,甚至崩溃了。

不过没关系。这个时候你再clean项目 ,这时console会打印出一次错误的信息提示:

例如:[2011-08-21 18:14:19 - myweibo] F:\android_workplace\myweibo\res\layout\home_list.xml:6: error: Error: No resource found that matches the given name (at 'src' with value'@drawable/usericon').

 

你就可以根据这些提示去查找哪个xml有问题,然后修改过来。再刷新一下项目,这个时候R.java文件就会出现了。

 

res\drawable-xxhdpi\icon-lg.jpg: Invalid file name: must contain only [a-z0-9_.]

drawable中的名字不能有  -  ,只能是下划线_

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

 

2.  如果R文件丢失,一般网上的推荐的方法是,右键项目文件,点击"Android Tools"->"Fix project properties".
但是有时这种方法也不可用,那就要重新检查一下RES文件夹里面的XML资源文件是否用了转义字符。使用我在string里面定义了一个名为"str"的字符串常量,如果在常量值里面使用转义(非法)字符,编译的时候,就会出现R文件丢失的情况。

  常用到的需要转义的字符有:<>&"'等,有兴趣的可以参考一下网上的文章,下面给出常用的转义后的编码:

转义字符   实际符号  名称
&lt;         <            小于号
&gt;        >            大于号
&amp;    &            和
&apos;    '             单引号
&quot;    "             双引号

注意转义字符后面的分号(;)不可省略!

原创粉丝点击