android R.java文件丢失或被删除

     今天正在写代码,xml和java同时进行的时候,因为我想把之前定义的控件都删了,页面重新布局。可是等我写好xml时,java文件中的很多findViewById函数出错了,那些定义的什么输入框,按钮等控件找不到了。一气之下,我就把R.java那个文件给删了。之后就开始网上疯狂找解决办法。。。。

网上有很多文章告诉我们怎么去解决R.java文件丢失的问题。

1、选择菜单  Project >> Clean ,前提是勾选上 Bulid Automatically(自动构建部署) , 点Clean后会重新构建项目,因为一般情况下,R.java文件在这个时候会重新更新生成一边,如果工程有错,就不会自动生成。 
2、选择工程,右键 Android Tools >> Fix Project Properties 这个操作有时候可以修正一些错误,但我的不行。 
3、还有的说法是重新建一个空的工程,然后把这里面的代码,资源文件按照对应的包路径什么的拷进去,然后重新生成一边,这种方法,也想当于是第一种方法,都是重新构建部暑,性质一样的。 
   以上几种方法都试了,R.java依旧没出现,整个工程还是一大堆错误。随便点了一个有错误的布局XML文件,看到这样一个错误代码 android:layout_height="match_parent" , 之前我都用1.5/1.6/2.1 版本的SDK layout_height里面没有看到match_parent这个属性,然后问群一个兄弟说这个属性是2.X版本的,想了下,是不是因为工程的SDK 版本和eclipse默认的SDK版本问题呢,于是选择工程,右键 Properties >> Android 然后看到右边的一块 Target Name, 我的是选中 Android 1.5,然后换了一个 2.1 的 ,点击Appply ,工程自动构建,看到错误少了一些,换到2.2,重新构建,错误没了,久未解决的问题解决了,R.java也出来了,一个字高兴啊,启动模拟器一切正 常。 
  总结下当导入其它源码时候,首先要保证源码的SDK版本和你eclipse默认版本是否一致。 
查看源码版本办法:打开default.properties 文件,看target=android-7 这后面这个数是多少。 
版本对应关系:target=android-3 <---> android 1.5  ,target=android-4 <---> android 1.6 , 
target=android-7 <---> android 2.1  ,target=android-8 <---> android 2.2 其它的自己测试下。

 自动生成的工程里缺少R.java,

按照网上的方法“右击你的工程(项目)——>Android Tools——>Fix Project Properties ”不管用, 

确保项目编译了一下clean,或是右击项目-->property-->android-->applay一下 也是不行

google和百度一通后,无果。

继后跟踪发现,R.java在工程里面自动生成,后到官方站点看了帮助文档,发现通过platform-tools路径下的aapt.exe执行, 再经过检测,aapt.exe程序好像已经损坏,不能执行,故而再sdk setup中执行,获取该文件,覆盖原来的,R.java自动产生了。

这个我没找到clean方法,大家可以试试。


我的方法是:

其实R.java删了也没事的,只要你的所有xml语法写对了,没有任何问题,R.java自然就出现了,之前可能是我太急躁了,没有仔细检查xml文件~~~~

其实R.java更新速度相当快(即使你没有保存的.xml文件,R.java依然会为我们更新),我们没必要去手动更新,所以在出现R.java不见了,最好就是先看一下自己的布局文件中是否有错误,排除错误之后大部分问题就解决了。

http://www.cnblogs.com/wangqingbaidu/p/3282477.html   很感谢原文作者。   

2016.1.15

你可能感兴趣的:(android R.java文件丢失或被删除)