我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
当前回答
似乎这里的所有答案都在重复检查XML中的错误并清理您的项目。做到!但如果这行不通呢?以下是对我有效的方法:
如果你创建的项目生成了一个错误的R,你删除了它,它不会重新生成,所以删除这个项目并创建一个新的项目,确保你没有勾选“自动生成”,然后你可以将你的文件夹复制到工作区,然后清理项目或勾选“自动生成”,这样它就会正确地生成你的R。
其他回答
当您认为一切正常,但似乎没有任何事情可以正常工作时,请逐个检查XML文件。错误就在那里。
如果您使用XML文件的GUI,一切似乎都没问题,但当您输入文本XML文件时,您会看到里面的混乱。Eclipse在这方面有点bug。
也要设置BuildAutomatically,这样在你修复了错误之后,你的R.java文件就会在生成的....中祝你好运! !
我改变了我的布局XML文件名,后来发现XML文件(小部件提供程序在这种情况下)仍然引用旧的布局XML不存在,这阻止了R类的自动生成/纠正。
我想强调糞_爺的答案。
我重命名了一个颜色从“listcolor”到“color_list”,但我没有抓住其他布局之一是引用它。所以(突然)我所有的R.string. x和R.layout. x在'R'上都失败了。
最后,我查看了控制台窗口并查看了错误。我认为它们都是R没有被发现的引用,但实际上,其中一个是'listcolor'没有被发现。一旦我修复了这个,其他错误就都消失了。
也许Eclipse插件的未来版本将允许您重命名这些XML文件中的资源,并将其传播到对它的所有引用中。
如果使用Maven,所有这些答案都不能工作。我的解决方案是
<genDirectory>${project.basedir}/gen</genDirectory>
到android-maven-plugin的配置部分。
我发现这发生在我与一个破碎的布局和一切爆炸。放松,这就像你第一次学习编程时犯的错误一样,你忘记了一个分号,它就会产生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.