Android Studio将R标记为红色,并显示错误消息“无法解析符号R”,但构建成功

时间:2013-07-02 08:41:24

标签: android gradle android-studio

在我尝试在Android Studio中创建的每个项目中,R的所有用法都标记为红色,并显示错误消息“无法解析符号R”,但编译成功并运行应用程序。这真的很烦人,因为它会阻止自动完成并在我的代码中显示巨大的红色波浪线。

我正在运行Android Studio 1.7.0并使用默认设置创建项目。附上截图:

Android Studio Screenshot

这是我的build.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

这就是项目结构的样子:

enter image description here

知道如何解决这个问题吗?

55 个答案:

答案 0 :(得分:108)

只需点击构建 - > Android工作室中的重建项目选项。

答案 1 :(得分:61)

我发现此问题是由于我的XML文件中存在错误而导致的。修复XML错误后,执行clean / build,修复了问题。

答案 2 :(得分:43)

点击Class Query { @JsonInclude(Include.NON_NULL) Integer product_id ... } ,然后点击 点击Build -> Rebuild Project

答案 3 :(得分:31)

确保AndroidManifest.xml包名称正确无误。当我的R.whatever标记为红色时,这就解决了我的问题!

我还建议您检查所有gradle个文件,以确保这些包名称正确无误。这不应该使所有内容都变红,但会阻止您的gradle文件正常同步。

答案 4 :(得分:15)

不要做。只需更新 Android Studio。解决我的问题!完美地工作。

答案 5 :(得分:8)

  1. 选择文件>项目结构菜单选项。
  2. 按消息框上的“确定”(项目结构更改不更新build.gradle)。
  3. 在“项目设置”侧窗格中选择“模块”。
  4. 对于每个模块(项目),检查“Excluded Folders”部分是否包含“build”文件夹。如果是,请按“build”文件夹旁边的“x”按钮。
  5. 按OK
  6. 您现在应该看到“MyAppProject / MyApp / build / source”文件夹。这应该包含“r”文件夹(生成R.java文件的位置)。在这里,你应该看到蓝色的“debug”,“release”(如果你的build.gradle中有一个projectFlavour,它们将在“”文件夹下)。在该调试/发布文件夹中应该是您的应用程序包名称,然后是包含所有资源ID的R.java文件。

答案 6 :(得分:8)

我在'com.android.tools.build:gradle:3.3.1'中也遇到了类似的问题,我尝试了上述所有解决方案,但均无济于事。它实际上是build:gradle 3.3.1问题。我将其更改为3.2.1,然后它起作用了。

因此build:gradle版本可能会出现问题。

答案 7 :(得分:7)

  1. 重建项目。
  2. 如果(1)不起作用,请重新启动Android Studio / Eclipse。
  3. 如果两者都不起作用,请检查所有xml文件。当您的xml文件不正确时会发生此错误。

答案 8 :(得分:6)

出于某些原因,Android studio对编辑器和编译器使用不同的配置。如果它适用于编译器,那么它很好。如果它对编辑器不起作用。 (它看到未解决的文件)。

您需要将一些目录添加到项目源中。例如,所有资源都应标记为“来源”。

文件 - >项目结构

选择“模块”,然后选择您的项目。然后选择sources标签。在右边找到您的资源目录,然后单击蓝色的“源”按钮。关闭所有,它应该工作。

此外,你必须确保

build/source/r/debug也是一个来源。在我的所有build/source/*/debug标记为来源。

主要模块.iml

<?xml version="1.0" encoding="UTF-8"?>
<module external.system.id="GRADLE" type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="android" name="Android">
      <configuration>
        <option name="SELECTED_BUILD_VARIANT" value="debug" />
        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
        <option name="ALLOW_USER_CONFIGURATION" value="false" />
        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
      </configuration>
    </facet>
    <facet type="android-gradle" name="Android-Gradle">
      <configuration>
        <option name="GRADLE_PROJECT_PATH" value=":SherlockHolmes" />
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/build/source/r/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/aidl/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/rs/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/res/rs/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/r/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/aidl/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/rs/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/res/rs/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/assets" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/aidl" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/assets" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/java" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/jni" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/rs" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/res" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/resources" isTestSource="true" />
      <excludeFolder url="file://$MODULE_DIR$/build/apk" />
      <excludeFolder url="file://$MODULE_DIR$/build/assets" />
      <excludeFolder url="file://$MODULE_DIR$/build/bundles" />
      <excludeFolder url="file://$MODULE_DIR$/build/classes" />
      <excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
      <excludeFolder url="file://$MODULE_DIR$/build/exploded-bundles" />
      <excludeFolder url="file://$MODULE_DIR$/build/incremental" />
      <excludeFolder url="file://$MODULE_DIR$/build/libs" />
      <excludeFolder url="file://$MODULE_DIR$/build/manifests" />
      <excludeFolder url="file://$MODULE_DIR$/build/symbols" />
      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
    </content>
    <orderEntry type="jdk" jdkName="Android 4.2.2" jdkType="Android SDK" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="Sherlock.aar" level="project" />
    <orderEntry type="library" name="SlidingMenu.aar" level="project" />
    <orderEntry type="library" name="support-v4-13.0.0" level="project" />
  </component>
</module>

project iml

<?xml version="1.0" encoding="UTF-8"?>
<module external.system.id="GRADLE" type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="android-gradle" name="Android-Gradle">
      <configuration>
        <option name="GRADLE_PROJECT_PATH" value=":" />
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <excludeFolder url="file://$MODULE_DIR$/.gradle" />
      <excludeFolder url="file://$MODULE_DIR$/build" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>

黑魔法

不确定这个,但我听说它工作,而我很确定它不应该改变任何东西。在评论所有需要R的行后,尝试编译并保存项目。然后当一切都不是红色。尝试添加它们。奇怪的是,你的构建/源代码没有生成。

此问题还建议检查“编译器使用外部构建”

Android Studio don't generate R.java for my import project

旁注

还要确保在你的java代码中没有。从你所展示的import android.r;来看,一切似乎都很好。奇怪的是没有创建构建/源。例如,我没有build / apk。可能是你处于发布模式,它不会创建这些目录。

答案 9 :(得分:5)

这是我的临时解决方案,直到找到更好的解决方案:

  1. 使用Everything,找到R.java的创建位置。就我而言 C:\Program Files (x86)\Android\android-studio\system\compiler\<project-name>.cb969c52\.generated\aapt\<module-name>.6badd9a4\production\com\<project-name>\<module-name>

  2. 在项目视图中,单击模块并按F4。忽略警告。

  3. 单击“+添加内容根”并选择上述文件夹。确保它标记为蓝色(作为来源)。

  4. 在我这样做之后,突然所有的警告都消失了。问题是如果你与其他人合作,每台机器上的文件夹名称是不同的,所以在同步时要小心。

答案 10 :(得分:4)

有时这些构建错误将无处不在。如果发生这种情况,请尝试:

重新检查资源文件中XML的有效性:如果没有为上一次构建生成R.java文件,那么无论您在何处引用资源,都会在项目中看到错误。这可能是由一个XML文件中的拼写错误引起的。布局XML并不总是经过验证,因此这些文件中的拼写错误可能无法引起您的注意。找到拼写错误并保存文件应该会导致R.java重新生成。

清理您的项目! Select Build → Clean Project这将从头开始重建项目,这可能会导致无错构建。

将您的项目与Gradle同步! Select Tools → Android → Sync Project with Gradle Files Android Studio将使用正确的项目设置从头开始重建项目,这有助于在更改Gradle配置后解决问题。

运行Android Lint! Lint可能会为您提供有关问题的良好信息。如果上述方法不起作用,那么您很可能会发现问题所在。要运行Lint,select Analyze → Inspect Code → select Whole project → OK 仔细分析Lint建议;从错误开始,然后是警告。

祝你好运。

答案 11 :(得分:4)

转到Android热门菜单列表。点击构建菜单,在构建下点击重建项目

enter image description here

答案 12 :(得分:4)

我通过以下方式解决了这个问题:

1) Sync Project with gradle files
2) Build -> Clean Project
3) Build -> Rebuild Project
4) File -> Invalidate caches

//imp step
5) Check your xml files properly.

答案 13 :(得分:4)

这对我有用:

  1. 关闭并重新打开项目

  2. 按&#34;使用Gradle文件同步项目&#34; (位于顶部菜单中的AVD经理图标旁边) 如果Gradle第一次无法同步,请重复1-2。 (我的第二次工作)。

  3. 使用Android Studio 1.2.2

答案 14 :(得分:3)

此错误发生在我身上,因为我的activity_main.xml文件中存在无效输入。

当您尝试构建或清理项目时,您会看到错误消息

我通过阅读这些错误消息解决了我的问题,更正了我的xml文件中的错误。然后重建项目

答案 15 :(得分:2)

从样本创建项目时,虽然没有导入现有项目是好的(防止与gradle,.idea,.iml,build,jars和apks,即所有不必要的构建生成的文件冲突),在创建新项目后项目,复制和粘贴所有相关资源,我建议:

从项目中的包{AndroidManifest声明和java类中的所有导入}检查包和导入,所有资源(可绘制,mip-map,布局和菜单以及你的build.gradle(要使用的build.gradle示例)可以根据要求提供最新的sdk))看看他们是否在那里&amp;如果声明的字符串和id实际存在并且已被使用,那么你唯一的错误应该是问题:

Bulid-&gt;清理项目

工具 - &gt; Android-&gt;使用Gradle文件同步项目

文件 - &gt;使缓存无效并重新启动

在最糟糕的情况下,重启机器会有所帮助。

以上应该有效。如有必要,请随意提问,即发表评论。

答案 16 :(得分:2)

这主要是因为xml文件中的错误,检查你的最新xml更改并重建它,与我同样的问题。

答案 17 :(得分:2)

我几天前遇到过这个错误,我试着四处寻找,直到我决定重新安装Android Studio。它对我有用。

答案 18 :(得分:2)

我在清单

的包声明中有一个复制/粘贴重用错误
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="wrong.package.name">

主要活动名称具有正确的路径,因此清单没有任何已检查的错误。

解决此问题后,虽然构建成功,但源文件仍显示错误。我刚刚运行应用程序,然后清除了源错误指示器。

答案 19 :(得分:1)

如果收到此错误,请清除项目。

  1. 在Android工作室的基础上构建
  2. 选择清洁项目选项
  3. 这背后的原因是通过清除您系统上android studio项目文件夹中存在的先前.apk文件被删除。

答案 20 :(得分:1)

最近我将我的项目导入Android工作室, R的一部分用红色标记,错误用法&#34;无法解析符号R&#34;但编译成功并且应用程序运行。

发展思想:

  • IDE:Android studio 3.1.2
  • 系统:Mac Os

解决方案:

步骤1:

查找Android studio的配置文件
我的道路:

/Applications/Android Studio.app/Contents/bin/idea.properties

步骤2:

更改2500:

idea.max.intellisense.filesize=2500  

到5000或更多:

idea.max.intellisense.filesize=5000  

答案 21 :(得分:1)

解决方案很简单:

转到File > Project Structure > app并选择Flavours标签,在API 21: Android 5.0 (Lollipop)的下拉列表中选择Min Sdk Version

答案 22 :(得分:1)

您必须更改路径:

例如

import it.example.project.myproject.R;

改变

import it.example.project.R;

答案 23 :(得分:1)

在我的案例中清理项目

转到

Build -> Clean Project

答案 24 :(得分:1)

您需要导入项目R文件

import <YOUR-PROJECT-PACKGENAME>.R;

答案 25 :(得分:1)

与android studio有同样的问题,我发现build / generated / source / r只包含release文件夹而不是debug。因此,出于某种原因,调试版本不会生成可用的R类。

我通过打开项目iml文件解决了这个问题并修复了这一行

<option name="RES_FOLDERS_RELATIVE_PATH" value="" />

<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />

使用gradle重新生成,使用R注释掉行,运行debug以使用R生成R,未注释的行并再次运行调试,修复。

答案 26 :(得分:1)

通过手动清理文件夹.idea / libraries并在“使用Gradle文件同步项目”后点击它解决了这个问题。显然,此同步不会删除元素,但保留旧元素并添加当前元素。可能是报告的错误:))

答案 27 :(得分:1)

就我而言,我遵循了Stackoverflow上可以找到的所有答案,但似乎没有一个能解决这个问题。所有答案都会指出可能的xml文件损坏或与Gradle名称冲突。一些答案声称有必要清理项目或使用Gradle文件同步项目。这些解决方案都不能解决问题。此外,一旦我关注如何构建Hello World应用程序的教程,我只是在没有任何编码的情况下跟随Android Studio向导窗口,那么怀疑这是一个类似的错误就没有任何意义。< / p>

TLDR

问题原来是Build Tools版本。我被设置为 23.0.0 rc1 ,因此我将其更改为 22.0.1 。我想这是因为我正在使用Android的最新版本。

要更改此值,您可以在左侧窗口中打开项目浏览器&gt;右键单击“app&gt;打开模块设置”,然后在“属性选项卡”

上查找

答案 28 :(得分:0)

当我在drawable文件夹中添加了一些图像文件时,我遇到了同样的问题,其中文件名是&#39;大写&#39;。我将它们重命名为普通格式名称并按下重建项目。它对我有用。

答案 29 :(得分:0)

我有几个星期的类似问题,但我在build.gradle中使用了带有+的设计lib版本,这使得它下载了最新版本。所以我将它设置为包的版本并且它有效。

答案 30 :(得分:0)

如果其他解决方案不起作用。 安装新的Android Studio版本。

答案 31 :(得分:0)

与大多数人提交的问题一样,问题很可能来自.xml文件。但这可能是一件非常繁琐的事情。

就我而言,manifest.xml文件中有一个属性导致了问题。在我发现它之前,我度过了不眠之夜,只是删除了这条线。 该属性是

  

机器人:fullBackupContent = “”

答案 32 :(得分:0)

尝试使用这些命令

首先清理并重建项目
1) Sync Project with Gradle files
2) Build -> Clean Project
3) Build -> Rebuild Project

在执行此操作之前检查XML文件中是否有任何错误。如果XML文件包含任何错误,则会产生重建项目并影响

的问题
  

[R

答案 33 :(得分:0)

  • 就我而言,它是gradle issue。我通过refreshing gradle

  • 解决了这个问题
  • 首先,点击Android Studio右侧的gradle图标

  • 然后点击刷新按钮

答案 34 :(得分:0)

重新检查图像的命名约定和资源文件中XML的有效性,然后在清理后重建项目。

答案 35 :(得分:0)

Many a times this usually happens when you have changed any of your layout files - where you might have included a new library component (happens generally during copy paste of code). Due to this copy-paste, you might tend to forget adding the dependency in the build.gradle file.

Hence, when you build/compile your project, Android Studio isn't able to understand that newly added component of the library (because the library hasn't become a part of the project yet).

Therefore, make sure you've added the new dependency in the build.gradle. Then do a gradle-sync.

答案 36 :(得分:0)

检查Android Studio中Gradle安装的版本以及Build.Grable文件中提到的版本

`依赖项{         classpath'com.android.tools.build:gradle:3.1.1'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}`

我将3.1.1替换为3.0.0,它对我有用,请检查您自己的Gradle版本。或者尝试创建新项目并检查其build.gradle文件以了解已安装的版本。

答案 37 :(得分:0)

这已经有很多有用的答案,但是这可能对我有用:

然后从班级中删除不必要的导入 清理项目或重新启动Studio。

答案 38 :(得分:0)

只需与 gradle 文件同步。它对我有用

答案 39 :(得分:0)

这发生在我身上, 我发现它是由一些无效的缓存文件引起的。 所以我通过添加

来禁用缓存
android.enableBuildCache=false

gradle属性。

答案 40 :(得分:0)

每次对我有用的一件事是:

转到 - &gt;您项目的build.gradle(Module:app)文件 - &gt;做一点改变(例如:在某处放一个空格并将其移回) - &gt;然后android studio会要求你同步你的gradle文件 - &gt;在文件的右上角 - &gt;选择“立即同步”。

同步完成后,它会在大多数情况下解决问题。

答案 41 :(得分:0)

只需在build.gradle中添加以下句子:

compile 'com.android.support:design:23.1.1'

答案 42 :(得分:0)

当我在Android工作室初学时,这是我面临的一般性问题。 通常,当十六进制代码转换期间的R.java文件正确地识别出适当的幻数时,会出现问题。 所以我们应该记住,所有的XML文件都是正确的。这通常是由于XML文件中的问题而引起的。 进入每个XML文件,确保所有文件都为true表示有效。 然后转到文件并同步项目。我的错误会通过这些步骤多次删除。

答案 43 :(得分:0)

  • Android studio-&gt;构建 - &gt;使项目或制作模块'xxx'解决问题。
  • 是的,运行app无法解决问题......
  • 是的,干净无法解决问题......
  • 是,文件 - &gt;无效缓存无法解决问题......
  • 顺便问一下,我应该使用是吗?或者可能是不对的英文?

答案 44 :(得分:0)

问题是R是构建项目时生成的pojo文件,它包含对res目录中资源的引用,如字符串,可绘制(图标或图像)xml布局等。您可能会发现它很有趣R.java文件虽然您可能必须退出android studio才能这样做。您可能会发现忽略此类错误会很有帮助,因为在编译和构建时它会消失。

不要做的是导入R文件

答案 45 :(得分:0)

重命名包名称时会出现此问题。重命名软件包名称后,您必须将较旧的软件包名称更改为较新的软件包名称。

对我来说,一旦我改变了它就解决了这个问题。

之后,您可能会在 xml文件中出现错误,您还必须更改包名称。就是这样。

答案 46 :(得分:0)

解决此问题的更好方法是重新启动Android Studio。 如果您不想重新启动,请单击Build -> Clean Project

答案 47 :(得分:0)

在大多数情况下,您的资源存在一些问题,即布局,样式等。因此,请尝试在资源中查找并修复问题,然后清理项目。

答案 48 :(得分:0)

我在使用培训网站的练习文件时遇到了同样的问题,并尝试通过卸载android studio并删除所有相关目录并重新安装来解决问题,但这并没有产生任何结果。但是,我注意到我正在查看的教程将其练习文件存储在DESKTOP上,而我的DOWNLOADS目录中的文件夹中,所以我只是将所有练习文件复制到我的桌面;这使得我的练习文件夹结构与教程创建者的结构相同,这就是诀窍。

答案 49 :(得分:0)

对我来说,在我将原始资源的名称从extra更改为extra.jet后,我遇到了这个问题,然后所有R都变为红色,并且它不会建立。 我尝试了上述所有解决方案,没有任何效果,然后我尝试用原始名称extra制作另一个副本并从android studio中删除它,然后R恢复正常并构建成功。

答案 50 :(得分:0)

我也有这个问题。我从项目的drawable文件夹中删除了额外的图像。

答案 51 :(得分:0)

我时不时地被这种情况所困扰,还有另外一件事要做:将您的compileSdk和buildSdk版本与最新版本匹配。

我已将compileSdkVersion从21更改回19,因为Android Studio(1.1 canary channel)调试器未正确跟踪到预构建的库。我发现它似乎是基于buildToolsVersion(19.1.0)的跟踪,我通过单击堆栈跟踪中的错误(然后选择19而不是21)来验证。虽然我直接在build.gradle文件中更改了它,但是这里有一个图形演练:https://www.blogger.com/comment.g?blogID=4722727826918942842&postID=3875998513888772255并且我将总结:

  1. Android Studio IDE,选择文件|项目结构。
  2. 选择您的模块,例如&#34; app&#34;
  3. 在“编译SDK”字段中,选择最新版本
  4. 同时选择Build Tools
  5. 中的最新版本

    确认,项目应自动正确同步。

    我从中得到的教训是,它们应该是相同的。

答案 52 :(得分:0)

我遇到了同样的错误,结果证明清单文件有一些错误。修好之后,再次点击Make Project,它运行正常。 Android工作室有时不会提供非常有用的错误消息。

答案 53 :(得分:-1)

问题:Android Studio将R标记为红色,并显示错误消息“无法解析符号R”

解决方案:我解决了“&#39; R&#39;将以下内容添加到导入&amp;然后重建项目,错误就消失了。

导入com.mkyong.android.R;

解释:有时,即使您多次构建或运行“优化导入”,Android Studio也不会添加导入功能。命令。有时,当您重新启动Android Studio&#39;但有时甚至在多次重启Android Studio之后,错误仍然存​​在。 感谢。

答案 54 :(得分:-2)

了解android studio非常重要 有两种类型的导入

  1. java import type
  2. android studio innere import type
  3. 和我们的问题android导入类型为import android.R

    它工作得好吗?但你没有导入android.R?

    android studio添加此自动但具有不同的语法

    解决我们的问题

    • 首先你需要制作一个新项目“空白”
    • 然后将第一个项目中的所有文件复制到除java文件之外的新项目
    • 然后你需要创建一个同名的新java类

    并轻松复制Activity java类的所有内容

      

    “不要复制模块和包只复制类的内容”

         

    并且不要忘记将extend ....添加到您的班级

    您将看到消息要求您导入一些模块

    你必须取消选择android.R并按OK

    它会正常工作

      

    “如果只在对话框中找到android.R,则必须单击取消”

    //见下一张图片

    Select Class To Import 如果你不确切知道哪个java类文件可以解决这个问题 使用项目中的所有java文件执行此解决方案

    //祝你好运 @ ABT