Android Studio:无法解析符号“R”

7

我知道这个问题已经被问过很多次,但是由于我的情境,没有任何有用的答案。事实上,我刚刚打开了我的第一个项目(在我的实际电脑上),并且没有编辑任何东西,所有的 "R." 在 mainActivity.java 中都变成了红色。有人知道这个问题的原因以及如何解决吗?

这里是 .java 主要活动内容:

package com.nico.calc_02;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;



public class MainActivity extends ActionBarActivity {

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


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    } 

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        } 

        return super.onOptionsItemSelected(item);
    }
}

以下是 .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" tools:context=".MainActivity">

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

</RelativeLayout>

我没有修改代码或做任何操作。我正在使用Android Studio。有人知道如何解决吗?


尝试使用这个解决方案,它可能会解决你的问题。 - Fakher
尝试使用这个解决方案,它可能会解决你的问题。 - Fakher
12个回答

8
有几种可能性:
1. You may need to do a clean & build
2. You may need to update the SDK (Go into your SDK manager, and make sure that all your files are up to date)
我发现这种情况通常发生在我更新AS时,当您更新AS时,还需要通过SDK管理器更新SDK。确保您的工具也是最新的,而不仅仅是API。像com.android.support:supportcom.google.android.gms:play-services之类的东西会导致此错误。检查左下角的Run选项卡,因为那应该能让您知道是否过期了,并且您需要进行更新。如果您正在使用库,则可能已经更新了它们。
您还需要检查mobile目录中的build.gradle文件,并确保依赖关系与通过SDK管理器安装的SDK相匹配。对我来说,这通常是罪魁祸首,特别是当我更新AS时。
不幸的是,这没有“简单”的解决方案。您只需尝试不同的方法,直到找到它,因为它可能只是做一个“clean & build”。
祝你好运!

2

如果您的Manifest文件中有以下属性:

package="com.example.yourpackagename"

正确无误

其他属性也必须正确,例如活动名称对应正确的源文件。


2
在Android Studio中,进入“构建”菜单,选择“清理项目”,然后再选择“重建项目”。

1

您可以在以下方式中清理或重建项目:

  • Build > Clean Project 或 Build > Rebuild Project

或者,您可以尝试通过以下方式安装 Android SDK 构建工具:

  • Tools > Android > SDK Manager。

1

有几个需要检查的点。

  • android sdk管理器需要更新

或者

  • Build > Clean Project.

或者

  • 工具 > android > 与gradle文件同步项目

其中任何一个都可以解决问题。否则,您的xml文件中有错误,无法与主java文件配置。因此,请检查该错误并解决它,然后运行项目。希望这可以帮助您。


0

同样的问题。

原来是xml文件的问题。没有显示错误,但当我重新构建项目时,在Android Studio底部的消息显示中出现了几个错误。

事实证明,因为我使用了GridLayout布局,所以页面顶部的rowCount和columnCount设置错误: app:columnCount="15" app:rowCount="15"

它们必须像这样设置:

android:columnCount="15"
android:rowCount="15"

0
将以下代码放入/app/build.gradle文件中:
dependencies {
    compile 'com.android.support:support-v4:18.0.0'
    compile 'com.android.support:appcompat-v7:18.0.0'
}

确保版本代码(这里为18.0.0)不高于同一文件中的buildToolsVersion:

android {
    compileSdkVersion 16
    buildToolsVersion "18.0.0"
}

然后重新构建您的项目。希望有所帮助!哦,确保您已通过SDK Manager安装了正确的buildTools!我想实际版本是21.0.2。

或者,如果您没有正确的API版本,请在SDK Manager中下载另一个API版本(在build.gradle中检查版本),或更改build.gradle文件中的SDK版本。


0

步骤1:进入“构建” -> “清理项目”

步骤2:构建 > 重新构建项目


0

感谢大家的回答!正如你们所说,解决方案是进行清理和重建,并检查SDK版本。现在运行得非常好。


0
只需按照以下步骤操作: Build > Clean Project 然后 Build > Rebuild Project

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接