R文件丢失异常原因汇总

时间:2022-02-17 21:14:46

引言:

R文件丢失异常在java开发中是个比较常见的异常,造成这个异常的原因可能非常微小,但是给Android开发者们造成的麻烦可是巨大的,当程序员们费尽千辛万苦,找到自己错在哪里的时候,绝对会对自己的粗心大意而捶胸顿足,哀叹不已。

异常提示:

R.java was modified manually! Reverting to generated version!
或者项目中gen目录下没有生成R文件,运行项目的时候会报错

我的错误:

最近一次我出现这个错误是因为新电脑中的Eclipse中指向的Android sdk路径中带有中文路径,项目workspace中也有中文路径,在我将这两个中文路径改完之后,R文件就重新恢复了。
比较坑的是另一个同事的错误原因,在他出现R文件丢失异常之后,Android技
术组长来看了半天,没有发现哪里错误,最后出动总监大人,总监大人花费了不少时间之后,终于发现错误原因:项目命名为Android_demo,但是其中
的下划线_是中文打出的,不是英文,所以出现了这个问题,同事的电脑是MAC,而我的电脑是windows,我并没有在自己的电脑上找出怎么打出中文的
_,所以出现这个问题的概率还是很小的。

其他原因:

下面我们来说说其他可能造成R文件丢失的原因:
1.项目编码不对,在导入其他人项目的时候可
能出现,在这里要建议大家最好把自己的eclipse编码设置为UTF-8最好,大部分项目都会使用这个编码,如果设置这个编码之后你导入的项目还是出现
乱码、R文件丢失之类的问题,那你可以换成GBK编码,如果你要导入的项目是其他编码,那我只能祝你好运,多花点时间找出这是什么编码。
Eclipse设置默认编码:Window——Preferences——General——workspace,然后在下方的Text file encoding中选择Other——UTF-8(注意,这是一个输入框,不仅仅是下拉选择框,当你找不到GBK编码的时候,可以手动输入)即可。
Eclipse中单独项目设置编码:右键项目——Properties——Resource——Text file encoding,在Other中选择UTF-8即可(这里也可以手动输入编码).
2.xml(包括layout布局、values资源以及其他xml文件)文件出错:可能是你xml格式出错,也可能是你的xml中某些属性忘了设置,甚至可能是你引用了错误的xml文件。
解决办法:xml格式出错的时候一般res文件夹及其子文件夹都会出现一个小叉号,这时候就要好好检查相应的报错的xml文件了,但是如果没有报错,那你可以试试将项目的xml文件都恢复到没有出现异常之前的版本,然后一一检查你修改后的xml文件。
3.xml文件和drawable下资源文件不可以为大写字母和数字
解决办法:将相应文件名改为小写字母或者小写字母和数字混搭的命名。
4.Eclipse或者adt插件版本问题,在adt19版本的时候就出现过bug
 
解决办法:升级最新已经修复bug的版本或者卸载现有版本,使用成熟的旧版本插件,建议使用android开发官网的ADT
5.项目sdk版本太低或者版本不对
解决办法:右键项目——properties——Android,选择相应的sdk版本,点击Apply——OK即可。
下面还有几种解决措施可以 帮助大家修复R文件丢失异常:
  • 选择Eclipse菜单栏——Project,点击Build Automatically,使其处于勾选状态即可,这样在你修改完项目之后Eclipse就会及时的帮你自动编译,跟新R文件;
  • 选中项目,Project——Clean...,这样会清除掉旧版本的各种生成文件,并产生最新的项目生成文件,跟新R文件;
  • 右键项目,Android Tools——Fix Project Properties,会修复项目中的问题。
好了,以上就是我知道和总结的R文件丢失异常了,如果大家还有其他的产生这个异常的情况和解决办法,欢迎留言讨论,谢谢~~~
 

R文件丢失异常原因汇总的更多相关文章

  1. android 项目R文件丢失解决的方法

    R文件丢失的原因有非常多,这里提供几种解决的方法: 1.  选中项目,点击 Project - Clean , 清理一下项目. 2. 选中项目,右键 选择 Android Tools  - Fix P ...

  2. 关于R文件丢失的一个问题

    android studio在编辑布局文件时,一般为了省事,如TextView控件中的text属性这样写 android:text="<500",编译不会报错,但是运行时会出 ...

  3. Android开发之R文件丢失

    在进行android开发的过程中,不知道怎么回事,代码中出现R代码有红色波浪线了,于是进行了clean,结果还是有红色波浪线,然后就重启了eclipse,重启以后还是这个样子,随后发现工程的R文件丢失 ...

  4. Android Studio 新建项目的R文件丢失的解决方法

    最近Android Studio炒的比较热,于是笔者决定赶赶时髦,从Eclipse转到了Android Studio.不幸的是,用Android Studio创建项目的时候就遇到了一个比较尖锐的问题— ...

  5. Android studio R文件丢失或错误解决方法

    android studio中有时引用资源会出现R文件丢失或报错,大多数情况下是由于引入资源时R文件没有及时更新造成的 (在代码没有错误或资源引用没有错误的前提下) 注意:资源文件的文件名必须小写,即 ...

  6. android开发中R文件丢失

    R文件在android开发中,占据着中会在重要的地位,里面的内容有系统自动生成,不可随意修改,然而在开发过程中,总是不可知的丢失,这里总结一下修补方法   #.在Eclipse里可以         ...

  7. android R 文件 丢失的处理 如何重新生成

    很多时候我们会遇到工程中的R.java文件丢失,必要急,修复很简单. 方法:右击你的工程(项目)——>Android Tools——>Fix Project Properties 即可. ...

  8. 【问题】R文件报错原因及解决办法 (转)

    错误如图.下面是几种解决方法(网上搜集的). 1.如果是导入项目出现这个问题,一般是R文件没有更新造成(据说导入项目,R不会自动更新).可以Project——clean以下,R文件会重新生成. 2.选 ...

  9. 【Android学习5】Clean 之后R文件丢失

    今天一不小心Clean下,发现R文件的资源都不可用,查阅资料发现是自己不小将一个.xml文件的文件名中包含了一个大写字母(为何不能包含大写呢?)   参考解决方法如下: 首先确定你的SDK是新的. 其 ...

随机推荐

  1. StackPanel在增加控件的问题

    今天遇到这样一个问题,就是我做了一个自定义控件.然后加到StackPanel中, <StackPanel Height="676" HorizontalAlignment=& ...

  2. Solr与Tomcat的整合

    solr与tomcat整合有两种方法: 方法一:其整合步骤如下: 1.将solr中的example中的solr拷贝到要作为服务器的位置(我当前创建的目录为D:\Develop\solr\home) 2 ...

  3. 将对象保存至文件——CArchive

    CArchive允许以一个二进制的形式保存一个对象的复杂网络,也可以再次装载它们,在内存中重新构造,这一过程叫作串行化/序列化(Serialization),简单的说,CArchive与CFile配合 ...

  4. Mit 分布式系统导论&comma;Distributed Systems &comma;lab1 -lab6 总结,实验一到实验六总结

    终于把Mit的分布式系统导论课的实验1-6写完了 做得有些痛苦,但是收获也很大 http://pdos.csail.mit.edu/6.824-2012/labs/index.html 把实验1-6用 ...

  5. input 上传图片显示预览、调用摄像头,ios和Android的兼容性解决

    html代码: <img id="pic" src="img/pic.png"/> </span><input id=" ...

  6. VUE之ECMAScript6(es6)

    es6:es:EMCAScript 6 (es2015)Emca:国际标准组织 1.常量和变量 const a = "hello" let:定义一个块级作用域的变量 需要先定义再使 ...

  7. 【精解】EOS智能合约演练

    EOS,智能合约,abi,wasm,cleos,eosiocpp,开发调试,钱包,账户,签名权限 热身 本文旨在针对EOS智能合约进行一个完整的实操演练,过程中深入熟悉掌握整个EOS智能合约的流程,过 ...

  8. jQuery插件初级练习3答案

    html: $("p").fontcolor().html("qaq") jQuery: $.fn.extend({ fontcolor:function(){ ...

  9. MFC中不同对话框间使用SendMessage发送自定义消息的具体实现

    1. 基本知识 SendMessage的基本结构如下: SendMessage(     HWND hWnd,  //消息传递的目标窗口或线程的句柄.     UINT Msg, //消息类别(这里可 ...

  10. jquery ajax的再次封装,简化操作

    1.封装的ajax var funUrl=""   // 每个请求地址相同的部分 function queryData(url,params,success,error){ url ...