我在Windows 64位上运行Eclipse 4.2.2 Juno,用于在Android SDK 17上使用ADT进行开发。就在今天,我清理了一个工作项目,却发现R.java文件不再生成了。
此问题的可能原因列表非常不同。用户灰色in response to the thread located here列出了一组文章,都解决了不同的可能原因。
他说:
别担心。首先,您可以清理项目,然后运行项目。如果 这不起作用,请按照以下链接:
然后继续列出与此问题的不同原因相关的文章,我无法包含的链接,但可以在上面链接的问题中找到。
Gray的评论是对此问题最常见原因的一个很好的总结,包括资源文件命名约定,错误的“导入Android.R”语句,XML错误,需要清理和重建的损坏,以及检查项目中的Android SDK - >属性 - > Java构建路径/库。
问题是,我的R.java仍然没有生成!在Gray的列表中唯一剩下的可能性似乎是我的main.xml或AndroidManifest.xml被破坏了,所以我已经包含它们以确保我没有错过任何错误。
我的主要布局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.bostonwalker.sseng.SSSurfaceView
android:id="@+id/ssview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
我的清单:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bostonwalker.enginedev"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >"
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
作为初学Android程序员,这超出了我的调试能力。有人可以找一个解释吗?
答案 0 :(得分:10)
首先检查资源文件中是否有任何错误。如果是这样的话,将不会生成R.java。检查您是否已将您的adt更新为rev 22.如果是,请按照以下
进行操作右键单击项目转到属性。 Java构建路径。选择订单导出选项卡。确保选中了Android私有库。如果您已引用库项目。同样为图书馆项目做同样的事情。清洁和建设。
还转到android sdk manager并检查你是否安装了android sdk构建工具。这不是必需的,但要确保安装了android构建工具。
检查以下链接
答案 1 :(得分:1)
每当生成的R类未生成时,它表示由于XML资源的某些解析问题而生成它时出现问题。检查IDE中的错误控制台,找出具体错误。
常见问题是:
strings.xml
中未转义的字符,例如you're
而不是you\'re
layout_width
或layout_height
个标签答案 2 :(得分:0)
除了Reghunandan所说的,在使用Eclipse Indigo Win x64更新到SDK 22后,我遇到了同样的问题。事实证明,在更新SDK Manager时,卸载了旧的Build Tools并且从未安装过更新的Build Tools,因此我不得不重新运行它以重新安装它们。这样做解决了我的问题,所有构建错误都消失了。
注意:即使我没有被提示,我也必须在错误消失之前重新启动Eclipse。
答案 3 :(得分:0)
我遇到了类似的问题,发现我导入的com.google.android.gms引用了google-play-services.jar。所以,一旦我在我的应用程序库中添加了google-play-services.jar的路径,就会生成R.Java。