我在做Notepad tutorial, exercise 2。我首先创建了一个新的Android项目,然后选择从源代码创建来导入已下载的练习源文件。
但是现在我在Eclipse中遇到了很多错误,问题是没有生成R.java
类。我怎么解决这个问题?文件夹gen/
为空。
我在Notepadv2.java
和res/layout/note_edit.xml
上都有错误,两者似乎都与生成的R.java
缺失有关。
以下是import
中的Notepadv2.java
语句:
import android.R;
import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
它们由Eclipse命令 Ctrl + Shift + O 创建。
答案 0 :(得分:74)
转到Project
并点击Clean
。除其他外,这应该重新生成您的R.java文件。
还要删除任何import android.R.*
语句,然后进行我提到的清理工作。
显然Jonas问题与错误的目标构建设置有关。他的目标构建设置为 Android 2.1(SDK v7),其布局XML使用 Android 2.2(SDK v8)元素(布局参数match_parent
),由于这样Eclipse就无法正确生成导致所有问题的R.java文件。
答案 1 :(得分:39)
在整整一天试图找到为什么没有生成R文件之后,我发现在安装Android SDK Tools r22后,工具中的新选项可用:Android SDK Build Tools。
安装后,R文件再次生成。
答案 2 :(得分:7)
现在您已导入android.R
而非您自己的R ...如果您的某个xml文件中有错误,请尝试查看“问题”视图...摆脱{{ 1}}并注释掉R. *
当项目没有其他错误时,清理应该会有所帮助,因此请检查res文件夹中的xml文件或文件命名
答案 3 :(得分:4)
I Had a similar problem
识别此问题的最佳方法是识别Lint警告::
* 右键点击project
> Android Tools
> Run Lint
:Common Errors
*
最后清理项目!
答案 4 :(得分:4)
您可能使用的SDK版本可能不正确。右键单击您的项目。选择属性 - > Android 。请注意,2.2是最新的SDK。检查一下,看看它是否被编译......
修改
之后再做一次干净
答案 5 :(得分:3)
我的同事有这个问题 - 重新启动eclipse修复了它。
答案 6 :(得分:3)
在Android SDK Manager中更新Android SDK工具以获取版本22.0.1。 它对我有用。
答案 7 :(得分:2)
如果您遇到此问题,则表示您的内容不支持“match_parent”属性。相反,使用“fill_parent”。
“fill_parent:视图应该与其父视图一样大(减去填充)。从API级别8开始不推荐使用此常量,并替换为match_parent。”
答案 8 :(得分:1)
你安装了Android插件吗?
您的项目必须是Android类型。
答案 9 :(得分:1)
我刚遇到一个问题,以前工作的项目停止使用引用R作为错误发布的所有内容,因为没有生成R.java。
** *检查控制台视图 * *
我(使用finder)备份了主图标(甚至没有使用过) 所以其中一个res文件夹(hdpi)有
的icon.png icon.png的副本
控制台指示" icon.png"副本不是有效的文件名。 其他任何地方都没有标记错误 - res文件夹中没有红色的X ....
但用" _"替换空格这一切都恢复了正常......
答案 10 :(得分:1)
这实际上是教程代码中的一个错误。我遇到了同样的问题,我终于意识到问题出在“note_edit.xml”文件中。
某些layout_heigh / width属性设置为“match_parent”,这不是有效值,它们应该设置为“fill_parent”。
这引发了一个错误,导致R.java文件的生成失败。因此,如果您遇到此问题或类似问题,请检查所有xml文件,并确保其中没有任何错误。
答案 11 :(得分:0)
由于Android插件中存在一些内部错误,我遇到了这个问题。当我试图打开一些布局xml时,我遇到了错误:
The project target (Android 2.2) was not properly loaded.
幸运的是,重新启动Eclipse并清理项目有帮助。
答案 12 :(得分:0)
当您更改为最新的SDK(2.2)时,似乎不再生成R.java文件。或者至少不是我们习惯的方式。要解决此问题,请删除gen文件夹下的软件包并清理而不构建。这解决了我的问题。
答案 13 :(得分:0)
例如,这也可能是错误的xml布局文件的问题。如果您的xml文件无效(包含错误),则清理后R文件将不会重新生成。如果你解决这个问题,R文件将再次自动生成。
答案 14 :(得分:0)
根据我的经验,我可以总结一下:
1.问题主要是指语法问题 发生在xml文件上。
2.您可能会将AndroidManifest.xml意外复制到子文件夹中。
1.One文件是未定义的扩展名。
检查完所有这些内容后转到Project->清理或只删除/ bin和/ gen文件夹。
答案 15 :(得分:0)
答案 16 :(得分:0)
我多次遇到过这个问题。
的根本问题或
检查这两个并按照之前选项中的建议进行干净的构建,它应该可以正常工作。
检查“问题”或“控制台”标签中的错误。
最后:你有/ eclipse对项目文件夹有写权限吗? (也可能是磁盘空间不太可能)
答案 17 :(得分:0)
我也遇到了R.java
缺失等问题,并且在没有错误的情况下,我的代码中出现了错误(对类文件显示红色X图标)。
我找到解决此问题的唯一方法是通过选择Project > Clean
这似乎解决了我自己的问题,运行Eclipse 3.5.2
答案 18 :(得分:0)
只需重新启动 Eclipse将解决此问题,因为工作区将是新建的!转到
文件 - >重新启动强>
这是避免挫折的最简单方法,将其转化为Build,属性,等等等等等。
答案 19 :(得分:0)
这是另一个:我正要哭,但设法让我心爱的R.java
回来了:
我的Android安装中没有更新任何东西很长一段时间。我需要一个功能并运行SDK Manager。除了我需要的东西,我基本上检查了它想要更新的一切。之后我的R.java
在Eclipse中消失了。
为了简短起见,在SDK Manager中有一个新条目“Android SDK Build-tools”,我猜我上次更新时没有。这真是一个明显的名字。安装完毕后,Eclipse给了我R.java
。
答案 20 :(得分:-1)
java ....比调试.. 要么 从代码中删除'import R.java'行。它由Eclipse完成,以解决问题。 转到“note_edit.xml”文件。无论您在哪里找到“match_parent”作为属性值,请将其替换为“fill_parent”或“wrap_content”。 做一个干净的构建。 R.java将自动生成