意外Gradle同步后Android Studio无法找到R.java

时间:2015-02-18 04:30:46

标签: java android r.java-file

在Android Studio中工作时,我不小心点击了按钮"使用Gradle文件同步项目"在工具栏中。现在R的所有实例都以红色突出显示为"无法解析符号R"。此外,目录结构工具栏中的所有文件夹,但应用程序名称都带有红色下划线,并且我有一条消息说我的XML布局文件中的三个已检查单选按钮的ID无法找到(即使它们& #39;下面几行)。项目结构中的任何地方甚至都没有R.java。重新启动Android Studio无法解决此问题;也没有再次按下相同的按钮。

编辑:我希望能够将我的所有文件复制到新项目中,但问题仍然存在于新项目中。

这是我的XML文件;我已经删除了默认选中的按钮:

<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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:screenOrientation="landscape"
    tools:context="com.cmpt276.darren.minions.OptionsMenu">


    <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:id="@+id/linearLayout2">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/num_rows"
            android:id="@+id/textView8"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true" />
        <RadioGroup android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <!--//android:checkedButton="@id/rows3"-->

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/rows3"
                android:id="@+id/rows3" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/rows4"
                android:id="@+id/rows4" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/rows8"
                android:id="@+id/rows8" />
        </RadioGroup>


    </LinearLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:layout_alignParentTop="true"
        android:layout_alignParentEnd="true">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/num_minions"
            android:id="@+id/textView9" />
        <RadioGroup android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <!--android:checkedButton="@id/numMinions6"-->

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/minions_6"
            android:id="@+id/numMinions6" />

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/minions_10"
            android:id="@+id/numMinions10" />

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/minions_15"
            android:id="@+id/numMinions15" />

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/minions_20"
            android:id="@+id/numMinions20" />
        </RadioGroup>
    </LinearLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/num_columns"
            android:id="@+id/textView10"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true" />

        <RadioGroup android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:text="@string/num_columns">
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/columns4"
                android:id="@+id/columns4" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/columns6"
                android:id="@+id/columns8" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/columns12"
                android:id="@+id/columns12" />
        </RadioGroup>
    </LinearLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

参考here

XML问题会阻止你的R文件构建。所以如果用梳子来理解它是理想的。在你的代码中

<RadioGroup android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checkedButton="@id/rows3"// error line
        >

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/rows3"
            android:id="@+id/rows3" />

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/rows4"
            android:id="@+id/rows4" />

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/rows8"
            android:id="@+id/rows8" />
    </RadioGroup>

错误行当前是指当前未分配的id。这会在xml中创建并出错,因此R不会构建。

This解决方案表明您需要将该属性称为

  android:checkedButton="@+id/rows3"//

这应该可行。或者其他请以编程方式定义。这样可以避免任何此类问题。

答案 1 :(得分:0)

这里已经回答了这个问题:
Android Studio: Gradle Build Problems/"R can't be resolved"

答案的一部分:

  1. 看,如果您没有在 xml文件 中编写任何代码,那么只需点击 重建或制作项目按钮或清洁按钮。你的问题可能是 解决。
  2. 如果您修改 xxxxx.xml 布局文件,请查看这些文件 我确定你写了一些错误的代码。喜欢主题名称问题, 任何引用字符串,尺寸,颜色等问题。 纠正它们可能是你的 R无法解析的文本 解决即可。显然,执行此操作后单击make project按钮 可证明没有错误..