我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?

我用的是Windows 7。

其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”


当前回答

我也有同样的问题。

检查Lint警告后,我看到警告资源R.string。App_name似乎未使用…,所以我删除了r.r string.app_name。

这个资源在AndroidManifest.xml中是必需的,尽管Lint警告我一个未使用的资源。我在清单中添加了“未使用的资源”,一切恢复正常。

我希望这能对某些人有所帮助。

其他回答

我发现这发生在我与一个破碎的布局和一切爆炸。放松,这就像你第一次学习编程时犯的错误一样,你忘记了一个分号,它就会产生100个错误。许多人惊慌失措,按下所有的按钮,使事情变得更糟。

解决方案

Make sure that anything the R. links to is not broken. Fix all errors in your XML files. If anything in the ADKs are broken, R will not regenerate. If you somehow hit something and created import android.R in your activity, remove it. Run Project -> Clean. This will delete and regenerate R and BuildConfig. Make sure Project -> Build Automatically is ticked. If not, build it manually via Menu -> Project -> Build Project . Wait a few seconds for the errors to disappear. If it doesn't work, delete everything inside the /gen/ folder If it still doesn't work, try right-clicking your project -> Android Tools -> Fix Project Properties. Check your *.properties files (in the root folder of your app folder) and make sure that the links in there are not broken. Right-click your project > properties > Android. Look at the Project Build Target and Library sections on the right side of the page. Your Build Target should match the target in your AndroidManifest.xml. So if it's set to target 17 in AndroidManifest, make sure that the Target Name is Android 4.2. If your Library has an X under the reference, remove and re-add the library until there's a green tick. This might happen if you've moved a few files and folders around.

如果R不能再生怎么办

这通常发生在XML文件损坏时。

Check errors inside your XML files, mainly within the /res/ folder Common places are /layout/ and /values/, especially if you've changed one of them recently Check AndroidManifest.xml. I find that often I change a string and forget to change the string name from AndroidManifest.xml. Check that Android SDK Build-tools is installed. Window -> Android SDK Manager -> Tools -> Android SDK Build-tools Make sure when you update the Android SDK Tools, you also update the Android SDK Platform-tools and Android ADK Build-tools. Build fails silently if they don't match. If you can't find the issue, right click /gen/ -> Restore from local history... -> tick R.java -> click Restore. Even if it doesn't solve the problem, it will clear out the extra errors to make the problem easier to find.

我想强调糞_爺的答案。

我重命名了一个颜色从“listcolor”到“color_list”,但我没有抓住其他布局之一是引用它。所以(突然)我所有的R.string. x和R.layout. x在'R'上都失败了。

最后,我查看了控制台窗口并查看了错误。我认为它们都是R没有被发现的引用,但实际上,其中一个是'listcolor'没有被发现。一旦我修复了这个,其他错误就都消失了。

也许Eclipse插件的未来版本将允许您重命名这些XML文件中的资源,并将其传播到对它的所有引用中。

查看Eclipse中的Problems选项卡总是很有帮助的。在我的情况下,我得到了一个“android无法解决目标‘android-8’”的错误消息,使R.java无法生成。因此,我将导入的目标纠正为我在默认情况下使用的目标。属性文件,然后我执行了一个清洁通过项目->清洁,瞧!自动生成R.java !希望能有所帮助!

以我为例,在无休止地关闭IDE、清理、尝试构建等之后,问题是我的“res”文件夹中的一个“未命名文件夹”,我可能错误地添加了这个文件夹。

我希望Eclipse能输出这类错误,就像Ant脚本那样:

[null] invalid resource directory name: /Users/gubatron/workspace.android/my-project/res/untitled folder

本网站建议:

如果你在项目上运行一个clean,它应该重新生成所有生成的Java文件,即R。

…和…

在Eclipse的Project菜单下,有一个自动构建的选项。 这将帮助您在每次修改时构建R.java文件 制造的。清洁……项目下也有选项。

这个网站提出了另一种解决方案。