【问题标题】:R.java missing, R cannot be resolved to a variable, even if no mistake in xml filesR.java 缺失,R 无法解析为变量,即使 xml 文件没有错误
【发布时间】:2013-12-26 09:58:39
【问题描述】:

我是 android 新手,开始了我的编程基础。我收到错误,因为 “R 无法解析为变量” 并且 R.java 文件丢失,即使我已经清理了我的项目并自动构建它。请告诉我可能的答案。每次它显示 R 无法解析为变量的错误。为什么会这样。

我的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>

我的带有代码的活动文件如下所示。mainAvtivity 文件:

package com.bis.databasedemo;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.R;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);       
}}

我的清单文件在这里,代码如下。查看每个代码并尽快给我可能的答复:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.bis.databasedemo"
    android:versionCode="1"
    android:versionName="1.0" >

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

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.bis.databasedemo.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>

</manifest>

请看一下并告诉我为什么会出现这样的错误,而不是在 xml 文件中没有任何错误,即使在一次又一次地清理项目之后,在我的 Eclipse 中也没有任何 sdk 问题,那么为什么仍然无法解决同样的事情 R到一个变量。提前致谢。

【问题讨论】:

    标签: android


    【解决方案1】:

    我发现这种情况发生在我身上,布局损坏。无需担心。我正在尽力为您提供解决方案

    解决方案

    确保 R. 链接到的任何内容都没有损坏。修复 XML 文件中的所有错误。如果 ADK 中的任何内容被破坏,R 将不会重新生成。

    如果您以某种方式碰到某些东西并在您的活动中创建了 import android.R,请将其删除。 运行 Project -> Clean。 这将删除并重新生成 R 和 BuildConfig。

    确保 Project -> Build Automatically 被勾选。如果没有,请通过 Menu -> Project -> Build Project 手动构建它。

    等待几秒钟让错误消失。

    如果不起作用,请删除 /gen/ 文件夹中的所有内容

    如果还是不行,请尝试右键单击您的项目 -> Android 工具 -> 修复 项目属性。

    检查您的 *.properties 文件(在您的应用文件夹的根文件夹中)并确保其中的链接没有损坏。

    右键单击您的项目>属性> Android。

    查看页面右侧的项目构建目标和库部分。您的构建目标应该与您的 AndroidManifest.xml 中的目标匹配。因此,如果它在 AndroidManifest 中设置为目标 17,请确保目标名称为 Android 4.2。如果您的库在引用下方有 X,请删除并重新添加库,直到出现绿色勾号。如果您移动了一些文件和文件夹,则可能会发生这种情况。

    如果 R 不再生怎么办

    这通常发生在您的 xml 文件损坏时。

    检查 XML 文件中的错误,主要在 /res/ 文件夹中

    常见的地方是 /layout//values/,尤其是如果您最近更改了其中之一

    查看AndroidManifest.xml,发现经常换个字符串,忘记从AndroidManifest.xml改字符串名。

    检查是否安装了 Android SDK Build-tools。 Window->Android SDK Manager->Tools->Android SDK Build-tools

    确保在更新 Android SDK 工具时,您还更新了 Android SDK 平台工具和 Android ASK 构建工具。如果它们不匹配,则构建会静默失败。

    如果找不到问题,请右键单击 /gen/ -> 从本地历史记录恢复... -> 勾选 R.java -> 单击恢复。 这并不能解决问题,但它会清除额外的错误,使问题更容易找到。

    希望对您有所帮助。 :)

    【讨论】:

    • 尝试了您的所有建议,但同样的问题是“R 无法解析为变量”。请提供更准确的解决方案,以便我可以在我的项目中进一步进行。谢谢!
    • 您是否从 MainActivity 中删除了 import android.R? @HerajMishra
    【解决方案2】:
    1. 清理项目
    2. 查看您的其他 xml 文件
    3. 查看您的可绘制文件夹

    确保您的所有 xml 文件都是正确的,并且干净的项目是一个好方法。 XML 文件不允许使用大写字母

    【讨论】:

      【解决方案3】:

      只需从你的 java 文件中删除这一行,

      import android.R;
      

      并在那个地方添加这一行,

      import com.bis.databasedemo.R;
      

      希望这会对你有所帮助。

      【讨论】:

        【解决方案4】:

        从 Java 类中删除 Import R 文件:

        Import Project R.java File
        

        确保您的 dimen XML 在您的项目中可用。

        【讨论】:

        • 尝试了您的所有建议,但同样的问题是“R 无法解析为变量”。请提供更准确的解决方案,以便我可以在我的项目中进一步进行。谢谢!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-20
        • 2012-12-20
        • 2013-07-02
        • 2014-08-09
        • 2013-05-14
        相关资源
        最近更新 更多