安卓R文件clean之后丢失,看我怎么找回来,是不是很奇葩

借鉴了两位仁兄的修改方法才解决:

第一个提到:


导入android源码后,基本都有错误,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 其它的自己测试下。

看到了红字的部分,才想到是不是 target=android-3指定的sdk版本有问题,于是找default.properties文件,但我的工程里面没有这个文件,只有一个project.properties文件,没办法,死马当活马医吧,就打开这个文件看看,果然里面有 # Project target 这个属性,于是改了一下target sdk,一开始manifest文件里面的 android:targetSdkVersion和这个里面的不相等,现在改成相等的(这里要补充一下,最好改成和原来的sdk版本不同的sdk,这样在次build之后会有编译过程,否则可能还是没有重新编译的过程)而且都是sdk manager下载的完整的sdk,然后再次build工程,这下终于有反应了,虽然是错误提示,但是好歹有反应了,之前怎么build都没有,logcat里面什么都没有,就是不生成R文件,头大抓狂啊,找问题都找不到,而且资源文件里面没有任何错误,那个烦啊,现在终于出来错误提示了:

gen already exists but is not a source folder. Convert to a source folder or rename it.

就按照这个错误提示再接着找办法,终于找到解决的方法,拜托第二位仁兄的博客:

这里是地址:http://blog.csdn.net/zhufuing/article/details/21086893

解决这个错误的,大家看看吧,我按照他的方法做了之后,再次build工程,终于生成R文件了,工程也没错误了,世界又美好了,晕啊,网上各种clean工程之后丢失R文件的兄弟,都是各种原因,各种解决方法,各不相同,却是相同的坑爹啊。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值