首页 > Android学习——R文件丢失异常原因汇总

Android学习——R文件丢失异常原因汇总

Console报错:R.java was modified manually! Reverting to generated version!

 

引言:

 

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,会修复项目中的问题。

 

文章引用:http://blog.csdn.net/zhufuing/article/details/22228207

 

转载于:https://www.cnblogs.com/guichun/p/4427679.html

更多相关:

  • 本文来自 运维人生 ,作者:fly是个稻草人链接:http://www.ywadmin.com/?id=76误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题。方法总比问题多~说在前面的话针对日常维护操作,难免会出现文件误删除的操作。大家熟知linux文件系统不同win有回收...

  • 原文来自SecIN社区—作者:WiHat0x00 什么是WebShell渗透测试工作的一个阶段性目标就是获取目标服务器的操作控制权限,于是WebShell便应运而生。Webshell中的WEB就是web服务,shell就是管理攻击者与操作系统之间的交互。Webshell被称为攻击者通过Web服务器端口对Web服务器有一定的操作权限,而...

  • 断电时文件系统发生了什么?硬盘又发生了什么?下一次开机时写到一半的文件在系统层面还在吗?在底层还在吗?更进一步的, 文件系统如何保证事务性, 会不会存在某种极端情况导致例如最后几个bit还没写完, 文件系统却认为它成功了的情况?回答不限任何文件系统,谢谢!下面是「北极」的回复分享断电的一瞬间,很多事情是无法确定的:1. 你无法确定...

  • 接到项目需求。需要搭建一个页面进行交互,慢慢来b (2).jpg使用python django框架进行页面的搭建在项目文件下打开窗口,输入命令;django-admin startproject helloword#在文件helloword/helloword/创建view.py在view.py文件中输入以代码from django....

  • 常见的错误集合解决方案(一)No.1提示错误'Microsoft.VC90.CRT,version="9.0.21022.8"把Microsoft.NET Framework 3.5.1下面的全部勾选上。No.2解决Qt Designer设计的图标但是VS生成不显示问题描述:在Qt designer中为菜单栏和工具栏设计的图标,但是...

  •     第1步:打开JSP项目目录  第2步:设置项目结构 实际上就是把Projects Settings下面的Project、Modules、Libraries、Facets和Artifacts都设置一遍,我们慢慢往下看吧 这里需要注意:在Mdules下面添加Web和在Facets下面添加Web...

  • 前置条件:安装了gittab.exe,并拉取了对应项目 导入了该项目到vscode之后  ...

  • 先安装Node.jshttp://nodejs.cn/download 推荐国人安装淘宝npm镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 然后创建一个空文件夹,在资源管理器地址栏输入cmd,回车然后输入   cnpm install vue-...

  • 学会操作git和使用Github来管理代码是技术开发人员的必备基本功,在工作中越来越发现,熟练掌握好git这个利器对工作非常有帮助, 遂静心专门攻之. 下面是我在github上创建的第一个测试项目.详细步骤记录如下. 一.注册Github账号 如果事先没有github的账号,首先需要注册一个github账号,需要登陆github...

  •  .net core相比之前.net的是一个可以跨平台,脱离iis运行的语言,并且项目启动的效率要比用iis启动快,可以说进一步提高了开发的效率。要想自己的项目core脱离iis,首先选择vs启动项目的载体:  如下图,不要选择IIS Express      选择好后再启动项目,会出现一个cmd窗口,我的理解这个窗口就类似于Core...

  • 很多同学对于编码问题都不是很清楚,计算机常见的编码格式为: ASCII ISO-8859-1 GB2312 GBK UTF-8 UTF-16 对于Python开发中,我们一般都是采用统一的编码格式:UTF-8第一行加入环境申明: #coding=utf-8 编码操作方式一般都分为:编码(encode)和解码(decode) 但是对于...

  • 函数近似方法7.1 目标预测(VE‾overline{VE}VE)7.2 随机梯度下降和半梯度下降例7.1: 1000态随机行走的状态收敛7.3 线性近似7.4 线性方法的特征构造7.4.1 Coarse Coding(粗编码)例7.2:粗编码的粗度7.4.2 Tile Coding(瓦片编码)7.4.3 实例:Tile Codin...

  • 1,Ascii和ebcic. 为了方便交流,美国人发明了ASCII编码,后来被确认为国际标准。后来以发明了EBCDIC编码。 一般地说,开放的操作系统(LINUX 、WINDOWS等)采用ASCII 编码,而大型主机系统(MVS 、OS/390等)采用EBCDIC 编码。在发送数据给对方前,需要事先告知对方自己所使用的编码,或者通过...

  • Unicode字符集中收录110多万个字符集合。UTF-8(8-bit Unicode Transformation Format),是一种针对 Unicode 的可变长度字符编码方式。使用一到四个字节来编码 Unicode 字符 在计算机内存中统一使用Unicode编码,当需要保存到硬盘或者需要传输时,转换为UTF—8编码。 字符...

  • ----------------基本概念-------------------------------一.位: 计算机存储信息的最小单位,称之为位(bit),音译比特,二进制的一个“0”或一个“1”叫一位。 二.字节 字节(Byte)是一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位,8个二进制位组成1个...