R文件其实是个资源索引。一个android app中用到的所有资源,比如文字、图片等等,都在R文件中有索引。
R文件是由ADT自动创建的。在每次编译Android工程时,ADT会首先调用aapt这个工具来编译资源,如果成功的话,就会生成R文件。
ADT的“清理”功能,会删除R文件。
所以,R文件消失、或者没有被创建的原因就是aapt在编译资源时出了问题。
aapt编译的资源都放在res目录下,因此,如果没有生成R文件,多半问题的根源在res目录下的某个xml文件里。当然,也有可能是图片文件什么的。但基本可以肯定问题在res目录下。
但,坑爹的是,res目录下的问题,很多是ADT不提示的。只能自己找,这就有点儿麻烦了。
所以,我根据网上的帖子,尝试手工启动aapt来创建R文件。这样,哪儿出错就能看到了。
帖子在这里:http://www.programgo.com/article/73661788461/
最后,android工程,特别是res目录下的任何东西,命名要很小心,只能用:小写字母、下划线和数字。