Android R.java不会在Eclipse中生成

时间:2013-05-23 18:44:56

标签: android xml eclipse r.java-file

我在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程序员,这超出了我的调试能力。有人可以找一个解释吗?

4 个答案:

答案 0 :(得分:10)

首先检查资源文件中是否有任何错误。如果是这样的话,将不会生成R.java。检查您是否已将您的adt更新为rev 22.如果是,请按照以下

进行操作

右键单击项目转到属性。 Java构建路径。选择订单导出选项卡。确保选中了Android私有库。如果您已引用库项目。同样为图书馆项目做同样的事情。清洁和建设。

还转到android sdk manager并检查你是否安装了android sdk构建工具。这不是必需的,但要确保安装了android构建工具。

检查以下链接

Eclipse error: R cannot be resolved to a variable

答案 1 :(得分:1)

每当生成的R类未生成时,它表示由于XML资源的某些解析问题而生成它时出现问题。检查IDE中的错误控制台,找出具体错误。

常见问题是:

  • strings.xml中未转义的字符,例如you're而不是you\'re
  • 布局资源中缺少layout_widthlayout_height个标签
  • 缺少名称空间声明
  • Java不支持的变量名,例如由于大写或使用空格,连字符或其他不受支持的字符而导致的
  • XML中的任何其他类型的语法错误

答案 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。