R cannot be resolved to a variable 的解决办法

在MyEclipse下新建项目test6,一步步按部就班创建完成,结果竟然是不能运行。

报了两个错误:一个在MainActivity.java中,R cannot be resolved to a variable另一个在AndroidManifest.xml中,The markup in the document following the root element must be well-formed.

第一个问题,Google搜索到了 这个,还有这个

发现我的R.java也没有自动生成,但是第一个帖子没帮助,第二个帖子提到了要检查AndroidManifest.xml文件。

于是,注意到我的AndroidManifest.xml文件是这样的,,虽然它是自动生成的,啥也没改过,但是显然它是错误的,多了一行:</manifest>,删除之。

<manifest xmlns:android=""…</manifest></manifest>那么现在AndroidManifest.xml不再报错了,但是MainActivity.java中的错误依旧。

看了一下,R.java还是没生成,于是Google再搜索怎么手动生成R.java,于是看到了 这个帖子,最重要的两点如下:

选择菜单Project 勾选上 Bulid Automatically(自动构建部署) 。选择菜单Project 点Clean后会重新构建项目,R.java文件在这个时候会重新更新生成一边,如果工程有错,就不会自动生成。

试了一下,还是不行,报错如下:

[2012-10-26 23:49:42 – test6] W/ResourceType( 6764): Bad XML block: header size 28530 or total size 1815766121 is larger than data size 0[2012-10-26 23:49:42 – test6] D:\Dropbox\VMware_share\workspace\test6\res\values\strings.xml:8: error: Error parsing XML: junk after document element[2012-10-26 23:49:42 – test6] D:\Dropbox\VMware_share\workspace\test6\res\layout\activity_main.xml:6: error: Error: No resource found that matches the given name (at ‘text’ with value ‘@string/hello_world’).[2012-10-26 23:49:42 – test6] D:\Dropbox\VMware_share\workspace\test6\res\menu\activity_main.xml:2: error: Error: No resource found that matches the given name (at ‘title’ with value ‘@string/menu_settings’).[2012-10-26 23:50:47 – test6] W/ResourceType( 4752): Bad XML block: header size 28530 or total size 1815766121 is larger than data size 0[2012-10-26 23:50:47 – test6] D:\Dropbox\VMware_share\workspace\test6\res\values\strings.xml:8: error: Error parsing XML: junk after document element[2012-10-26 23:50:47 – test6] D:\Dropbox\VMware_share\workspace\test6\res\layout\activity_main.xml:6: error: Error: No resource found that matches the given name (at ‘text’ with value ‘@string/hello_world’).[2012-10-26 23:50:47 – test6] D:\Dropbox\VMware_share\workspace\test6\res\menu\activity_main.xml:2: error: Error: No resource found that matches the given name (at ‘title’ with value ‘@string/menu_settings’).[2012-10-26 23:53:43 – test6] W/ResourceType( 6328): Bad XML block: header size 28530 or total size 1815766121 is larger than data size 0[2012-10-26 23:53:43 – test6] D:\Dropbox\VMware_share\workspace\test6\res\values\strings.xml:8: error: Error parsing XML: junk after document element[2012-10-26 23:53:43 – test6] D:\Dropbox\VMware_share\workspace\test6\res\layout\activity_main.xml:6: error: Error: No resource found that matches the given name (at ‘text’ with value ‘@string/hello_world’).[2012-10-26 23:53:43 – test6] D:\Dropbox\VMware_share\workspace\test6\res\menu\activity_main.xml:2: error: Error: No resource found that matches the given name (at ‘title’ with value ‘@string/menu_settings’).

好多错啊,注意到strings.xml的第8行有错,看了一眼,还真是,多了一个箭头符号 ">"

<resources><string name="app_name">test6</string><string name="hello_world">Hello world!</string><string name="menu_settings">Settings</string><string name="title_activity_main">MainActivity</string></resources>>去掉之,再试手动生成R.java,这次成功了!

注意:

手动生成R.java时,焦点应该选择在项目名字上,我的是"test6"。

我开始将焦点选择在strings.xml文件上,然后试图手动生成R.java,结果却是自动生成了strings.out.xml文件??

这个帖子 给出了解释和解决办法,基本上,下面的引文是关键:

引用 2 楼 bjtusq 的回复:你在编辑xml文件的时候点运行,运行的是xml文件,所以生成xml out你可以点击run右面的下拉箭头选择你想运行的程序,这样就不会错了

++在Eclipse中,选中你要运行的项目(而不是项目中的某个文件),点击鼠标右键 -> Run as -> Android Application

最后想说的是,MyEclipse自动生成的项目代码也有问题?!

初初尝试着拥抱的人,一派新鲜幸福都来不及沉浸,

R cannot be resolved to a variable 的解决办法

相关文章:

你感兴趣的文章:

标签云: