我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
当前回答
我也有同样的问题。结果发现,原因是我的一些资源的文件名中有大写字母。我知道这听起来很琐碎,但只是把它们都改成小字母,修复了它,重新检索了我的R.java文件。
希望这能有所帮助。
其他回答
不要从strings.xml中删除这两行:
android:icon="@drawable/icon" android:label="@string/app_name"
android:name=".HelloAutoComplete"
android:label="@string/app_name"
我也有同样的问题。结果发现,原因是我的一些资源的文件名中有大写字母。我知道这听起来很琐碎,但只是把它们都改成小字母,修复了它,重新检索了我的R.java文件。
希望这能有所帮助。
作为Glaux的答案的概括,如果在res目录中有任何错误,那么R.java可能不会生成-即使您清理并重新构建。首先解决这些错误。
举个例子:当你添加一个图像文件,比如说“myimage-2.jpg”,系统会认为这是一个错误,因为文件名被限制为字母数字值。在添加任何文件后对“res”目录进行刷新,并观察控制台窗口中的输出是否有文件名警告。
我发现了一个解决方案,为什么R.class不被Eclipse重新创建后- 2清洁,构建等。
问题在strings.xml中:
<string name="hello">Hello World, HelloAutoComplete!</string>
<string name="app_name">HelloAutoComplete</string>
这些是Eclipse在创建项目时默认创建的。
当然,您需要根据自己的需求更改strings.xml。有时你会清除字符串。xml这两行代码:
它在AndroidManifest.xml文件中产生了一个问题:
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".HelloAutoComplete" android:label="@string/app_name">
所以它不能与strings。xml通信。
还要确保您拥有最新版本的ADT插件,并打开Android SDK管理器将所有SDK工具更新到最新版本。还要检查Eclipse本身中的更新。不匹配的版本给我带来了问题。