我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
当前回答
还有另一种情况发生在我身上。当我在strings.xml资源文件中添加一个带有撇号的字符串时,就像
<string name="Today">Returns Today’s date</string>
它是通过将撇号改为另一种类型的撇号来修复的,比如´。
其他回答
我也有同样的问题。结果发现,原因是我的一些资源的文件名中有大写字母。我知道这听起来很琐碎,但只是把它们都改成小字母,修复了它,重新检索了我的R.java文件。
希望这能有所帮助。
我的AndroidManifest.xml文件有一个问题,没有生成R.java。
我认为解决方案是检查所有的XML文件,到处都是!
我也有同样的问题。当我检查它时,我发现布局下的XML资源的名称没有正确的命名约定。上面有一些大写字母。所以我重新命名,使所有字母小写,神奇的工作。
在main.xml中使用硬编码文本作为按钮文本属性时,没有出现任何错误,只有三个警告。 就像这样:
<Button
android:id="@+id/scan"
.....
android:text="Scan" />
在将文本属性更改为android:text="@string/scan_device"后,立即生成了R.java。
因此,只要某个XML文件中出现任何错误/警告,它就会在我的机器/Eclipse上发生。
不过IntelliJ IDEA在警告方面没有这个问题。
我发现这发生在我与一个破碎的布局和一切爆炸。放松,这就像你第一次学习编程时犯的错误一样,你忘记了一个分号,它就会产生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.