Android:错误:R无法解析为变量

时间:2013-07-22 21:01:22

标签: android classnotfoundexception

我已经尝试了几乎所有东西来重新出现R.java文件,但还没有任何工作。 src文件夹和AndroidManifest.xml文件旁边都有一个错误图标。

我从清单文件中收到以下错误...

“错误:在'android'包中找不到属性'installLocation'的资源标识符”

我从src文件夹中的一些.java文件中得到以下错误......

“R无法解析为变量”

在这些.java文件中,“R”用红色波浪线加下划线。

我尝试了以下方法,但这些方法都没有奏效......

  • 清洁&重建项目
  • 删除“导入Android.R”声明
  • 重命名项目并在清单文件中更改
  • 检查以确保res / drawable文件是小写
  • 检查AndroidManifest.xml中的包声明是否与包名称匹配
  • 重启Eclipse
  • 在Java Build Path中挑选Android版本复选框
  • 安装正确的SDK平台

有什么建议吗?

编辑:

这是清单文件......

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="org.jfedor.frozenbubbleupdate"
    android:installLocation="preferExternal"
    android:versionCode="8"
    android:versionName="1.7" >

    <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true" />

    <uses-sdk android:minSdkVersion="2" />

    <application
        android:icon="@drawable/app_frozen_bubble"
        android:label="@string/app_name" >
        <activity
            android:name="org.jfedor.frozenbubbleupdate.FrozenBubble"
            android:alwaysRetainTaskState="true"
            android:configChanges="orientation|keyboardHidden"
            android:label="@string/app_name"
            android:launchMode="singleInstance" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="org.jfedor.frozenbubble.GAME" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

</manifest>

2 个答案:

答案 0 :(得分:1)

您在AndroidManifest中的minSDK中有什么价值? 此问题可能是因为sdk版本低于API 8: http://developer.android.com/guide/topics/data/install-location.html
此外,如果你可以发布你的清单将是有用的。您的R文件没有生成,因为您的项目中存在一些错误,而您的文档中的错误来自您所说的内容。 你需要这样的东西:

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

答案 1 :(得分:0)

您应该在android:targetSdkVersion="17"标记中添加<uses-sdk>。目标SDK应始终设置为当前可用的最高SDK版本。

由于在API版本8之前未引入android:installLocation属性,因此未指定目标SDK可能导致编译器针对错误的API版本进行编译。