android 无法生成R文件的原因剖析
android 无法生成R文件 是件痛苦的事情,即使有时候你xml文件没有错误,他都无法生成。针对此问题,我总结以下几个方面的原因。
一.xml本身有错误
R.java这个文件是会自动生成的,但是如果你不小心xml文件写错了,或者不小心 在编辑xml的时候点击了run(其实这个时候会运行这个xml文件,会生成一个同名的xml文件,后缀为xx.out.xml),然后正巧你游 clear了一下项目,你可能会发现gen下面的R.java的文件没有了,这个在刚开始的时候很气人,真不知道怎么解决,后来发现,只要xml文件有问 题,系统是绝对不会给你自动生成这个R.java文件,因为他要参照你的每张xml里的数据来生成R.java,所以自然就生成不了了。虽然知道了原因但 是问题头疼,假如项目的layout xml文件有几十个,这个时候怎么办,难道要一个一个xml的看吗,呵呵,其实也不是,把console中的信息clear一下,然后再clear项目一 下,这个时候,console中会有很多红色的信息,参照这个肯定能准确的找到哪个文件报错了。
下面这个事误运行了xml文件,可以看到gen的包不是空的,R.java文件也存在,并且明确的支出了是layout包中的错误
二.编码格式不正确
有时候由于编码格式问题,造成无法生成R文件,此时后,把编码格式变成utf-8即可
三.不知何种原因,可能是配置问题(转义字符的问题).
一般来说,Android项目是的R文件是由系统生成的资源的定义,但是偶尔会出现R文件不同步或是丢失的情况.
不同步的情况,即在RES文件里面已经存在了一项,但是在R.java文件中却还没有定义,
这里可以点击,Project->Clean, 选择项目,然后选中"Start a build immediately",即可重建R文件.
如果R文件丢失,一般网上的推荐的方法是,右键项目文件,点击"Android Tools"->"Fix project properties".
但是有时这种方法也不可用,那就要重新检查一下RES文件夹里面的XML资源文件是否用了转义字符.
使用我在string里面定义了一个名为"str"的字符串常量,如果在常量值里面使用转义(非法)字符,编译的时候
就会出现R文件丢失的情况.
常用到的需要转义的字符有:<>&"'等,有兴趣的可以参考一下网上的文章,下面给出常用的转义后的编码:
转义字符 实际符号 名称
< < 小于号
> > 大于号
& & 和
' ' 单引号
" " 双引号
注意转义字符后面的分号(;)不可省略!
这就是我总结无法生成r文件的情况。
android 无法生成R文件的原因剖析的更多相关文章
- Android无法生成R文件的终极解决办法
R文件如果在clean项目(Project—>Clean)和 Fix Project Properties(如下图): 如果在第一步无法解决的的时候,那可能原因就是资源文件调用的错误,比如资 ...
- Android eclipse 项目R文件无法生成
这个问题相信非常多人从网上已经搜到不少的解决方式. android 无法生成R文件 是件痛苦的事情.即使有时候你xml文件没有错误,他都无法生成. 针对此问题,我总结下面几个方面的原因. 一.xml本 ...
- 新版本ADT创建Android项目无法自动生成R文件解决办法
本人使用的是ADT是Version 23.0.2,支持Android 6.0之后的系统环境,最高版本23,在创建Android项目的时候,每次创建项目选择“Compile With”低于6.0版本的时 ...
- Android Project from Existing Code 生成 R 文件错误、失败等问题解决办法 - 持续更新
Android Project from Existing Code 生成 R 文件错误.失败等问题解决办法 - 持续更新 git 上的项目,pull下来之后用Android Project fro ...
- 安卓无法生成R文件原因
原因个人总结出来: 清单文件报错,则无法生成R文件 gen和bin目录可以删除
- android开发中R文件丢失
R文件在android开发中,占据着中会在重要的地位,里面的内容有系统自动生成,不可随意修改,然而在开发过程中,总是不可知的丢失,这里总结一下修补方法 #.在Eclipse里可以 ...
- 导入android工程没有R文件的解决办法
第一种: 千万不要重启Eclipse.也不自己创建R.java 类文件! 右击你的工程(项目)——>Android Tools——>Fix Project Properties ...
- Android 笔记之 R 文件
Android笔记之R文件 h2{ color: #4abcde; } a{ color: blue; text-decoration: none; } a:hover{ color: red; te ...
- Eclipse导入android项目包xml报错未生成R文件
最近很是头痛的就是项目带回家做的时候.导入各种问题.自从升级23以后. 生成的带appcompat_v7包.copy时不论是新建还是导入这个包,项目都会报错. 网上的方法试了各种clean各种fix等 ...
随机推荐
- 2015.9.11模拟赛 codevs 4159【hzwer的迷の数列】
题目描述 Description hzwer找了一个人畜无害的迷の数列…… 现在hzwer希望对这个数列进行一些操作,请你来回答hzwer的问题. 操作一:查询第i个数的大小 操作二:把第i个数的大小 ...
- java与数据结构(2)---java实现静态链表
结点类 1 //结点类 2 class Node<T> { 3 private T data; 4 private int cursor; 5 6 Node(T data, int cur ...
- 使用python进行接口测试(二)
之前使用过urllib和urllib2做接口测试,在做的途中,感觉使用urllib2直接进行的get,post 请求并没有那么好用.作为测试人员,所需要的测试工具应当以方便为第一要务,测试的耗时只要是 ...
- spring mvc json 返回乱码问题解决(vestion:3.x.x)
本文是转载文章,感觉比较好,如有侵权,请联系本人,我将及时删除. 原文网址:<spring mvc json 返回乱码问题解决(vestion:3.x.x)> 工程中用springmvc返 ...
- Linux + Apache + MySql+ Php 配置虚拟主机
win7:------------------------------------------------------------------------ NameVirtualHost *:80&l ...
- 用GDB调试多进程程序
在子进程中sleep.然后attach上去. gdb --pid=123456 ps出子进程的id,gdb attach 进程号. http://www.ibm.com/developerworks/ ...
- 通过 yum update 将系统从CentOS 6.2 升级到 CentOS 6.6 及升级过程中的简单排错
本文说明 本文写于2014年的WP中,后WP停止维护,今天翻到此记录整理下,记录于此,方便日后查看. 话说那时候写博客真是认真啊~哈哈~ 升级前的系统信息 [root@thatsit ~]# unam ...
- HTM5新增结构化元素&非结构化元素&新增属性详解
(1)HTML5 新增的主体结构元素 (2)HTML5 新增的的非主体结构元素 (3)HTML5 表单新增元素与属性 (4)HTML5 改良的 input 元素的种类
- 《第一行代码》学习笔记36-服务Service(3)
1.为了更加方便在子线程中对UI操作,借助Android中提供的AsyncTask,十分简单地从子线程到主线程的. 2.一个最简单的自定义AsyncTask写成如下方式: class Download ...
- IFeatureClass.Search中的 Recycling 参数 - 浅谈.
语法: public IFeatureCursor Search ( IQueryFilter filter, bool Recycling); 当 Recycling 为true时,调用NextFe ...