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

在我尝试在 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

有办法解决吗?

453506 次浏览

几天前我有这个 bug,我试着四处看看,直到我决定重新安装 Android Studio。这招对我很管用。

由于某些原因,Android 工作室对编辑器和编译器使用不同的配置。如果它对编译器有效,那么它就是好的。如果编辑不喜欢的话。(它看到未解决的文件)。

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

文件-> 项目结构

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

还有,你得确保

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

主模块

<?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>

项目 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 不会为我的导入项目生成 R.java

边注

还要确保在 Java 代码中没有。从你展示的 import android.r;来看,一切都很正常。只是奇怪的是,没有创建构建/源代码。例如,我没有 build/apk。也许你正处于发布模式,它并没有创建那些目录。

在我找到更好的解决办法之前,这是我的临时解决办法:

  1. 利用一切,找到 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. 在 Project 视图中,单击模块并按 F4。忽略警告。

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

我这么做之后,所有的警告都消失了。问题是,如果您与其他人协作,每台计算机上的文件夹名称是不同的,因此在同步时要小心。

  1. 选择“文件 > 项目结构”菜单选项。
  2. 在消息框上按 OK (项目结构更改不更新 build.gradle)。
  3. 在“项目设置”侧面窗格中选择“模块”。
  4. 对于每个模块(项目) ,请检查“排除的文件夹”部分是否包含“生成”文件夹。如果他们这样做,按“建立”文件夹旁边的“ x”按钮。
  5. 按 OK 键

您现在应该看到“ MyAppProject/MyApp/build/source”文件夹。这应该包含“ r”文件夹(R.java 文件生成的地方)。在这里,您应该看到蓝色的“ debug”,“ release”(如果在 build.gradle 中有 projectFlavour,它们将位于“”文件夹下)。在这个调试/发布文件夹中应该有应用程序的包名,然后是一个包含所有资源 id 的 R.java 文件。

确保在 AndroidManifest.xml中软件包名称是正确的。当我的 R.whatever被标记为红色时,这为我解决了问题!

我还建议检查所有的 gradle文件,以确保这些包的名称是正确的。这不应该使所有的红色,但它会停止您的 gradle文件的同步正确。

通过手动清理文件夹,它也为我工作。然后点击“同步项目和分级文件”来解决这个问题。显然,这种同步不会删除元素,而是保留旧的元素并添加当前的元素。可能是一个要报告的错误:)

Android 工作室也有同样的问题,我发现 build/generated/source/r 只包含发布文件夹,而不包含调试。因此,由于某些原因,调试构建没有生成可用的 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 取消注释行,再次运行 debug,修复。

我也遇到了同样的错误,原来清单文件有一些错误。修复之后,再次单击“制作项目”,它工作正常。Android 工作室有时不提供非常有用的错误消息。

我发现这个问题是由于我的 XML 文件中有错误造成的。一旦修复了 XML 错误,进行清理/构建,问题就解决了。

我时不时地会被这个问题所困扰,还有另外一件事情需要尝试: 将您的 developeSdk 和 buildSdk 版本与最新的可用版本进行匹配。

由于 Android Studio (1.1金丝雀频道)调试器没有正确地跟踪到预构建的库,我已经将 CompileSdkVersion 从21更改为19。我发现它似乎是基于 buildToolsVersion (19.1.0)进行跟踪的,我通过单击堆栈跟踪中的错误来验证这一点(然后选择19而不是21)。虽然我直接在 build.gradle 文件中对其进行了更改,但这里有一个图形演练: https://www.blogger.com/comment.g?blogID=4722727826918942842&postID=3875998513888772255,我将总结如下:

  1. Android Studio IDE,选择文件 | 项目结构。
  2. 选择你的模块,像“应用程序”
  3. 在“编译 SDK”字段中,选择最新版本
  4. 还可以选择“生成工具”中的最新版本

确认后,项目将自动正确同步。

我从中得到的教训是它们应该是一样的。

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

解决办法很简单:

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

只需在 Android Studio 中单击 建造-> 重建计划选项。

但在某些情况下,我们可能还需要使用 File-> Invalidate Cache...并重新启动 IDE (除了上述重新构建之外,因为之前的“无法解析符号”状态可能会被缓存)。

我们可以自动完成库,因为它们已经构建好了,但是首先需要构建自己的项目,只有这样 Android-Studio 才能看到相关的资源。

# 1 重建是必需的,因为 Android-Studio 只是简单地依赖于 Gradle 的构建结果(没有静态分析支持,至少在编写本文时,2022)。

# 2 清除缓存 也许吧是必需的,因为 上一页构建结果(在上面的重建之前)可能会被索引,这可能会使 Android Studio 忽略最新的 Gradle 构建结果
(这是一个非常好的速度优化,但也是一个非常糟糕的开发者体验)。

有时也可能有其他原因,这就是为什么有许多其他的答案张贴在这里。

对我来说,我有这个问题后,我把我的原始资源之一的名称从 extraextra.jet,然后所有的 R成为红色,它不会建立。 我尝试了以上所有的解决方案,没有工作,然后我试图使原来的名称 extra的另一个副本,并删除它从内部的安卓工作室,然后 R返回到正常和建设成功。

在我的案例中,我跟踪了所有我能在 Stackoverflow 上找到的答案,但似乎没有一个能解决这个问题。所有的答案都指向一个可能的 xml 文件损坏或与 Gradle 名称冲突。一些回答声称,这将是必要的清理项目或同步项目与级别文件。这些解决方案都不能解决问题。另外,有一次我在学习如何构建一个 Hello World 应用程序的教程,我只是在没有任何编码的情况下跟随 Android Studio 向导窗口,怀疑它是一个类似这样的输入错误是没有任何意义的。

TLDR

问题原来是构建工具版本。我的设置是 23.0.0 rc1,所以我把它改成了 22.0.1。我想这是因为我正在使用 Android 的最新版本。

要改变这个值,你可以打开你的项目浏览器在左边的窗口 > 右键点击“应用程序 > 打开模块设置”,然后在“属性”选项卡中找到它

如果您得到了这个错误,那么清理您的项目。

  1. 建立在你的机器人工作室之上
  2. 选择“清理项目”选项

这背后的原因是,通过清理您以前的 .apk文件,目前在您的安卓工作室项目文件夹上您的系统是删除。

我在使用训练网站上的练习文件时遇到了同样的问题,我试图通过卸载 android 工作室,删除所有相关目录并重新安装来解决这个问题,但是没有结果。然而,我注意到我正在浏览的教程将它的练习文件存储在桌面上,而我的在我的 DOWNLOADS 目录中的一个文件夹中,所以我简单地将所有的练习文件复制到我的桌面上; 这使我的练习文件夹结构与教程创建者的结构相同,这样做起到了作用。

这对我很有效:

  1. 关闭并重新打开项目

  2. 点击“同步项目与分级文件”(在顶部菜单中 AVD 管理器图标旁边) 如果第一次不能同步,重复1-2次。(矿井第二次工作)

使用 Android Studio 1.2.2

您需要导入您的项目 R 文件

import <YOUR-PROJECT-PACKGENAME>.R;

点击 Build -> Rebuild Project然后 按 Tools -> Android -> Sync Project with Gradle Files

在大多数情况下,你的资源有一些问题,比如布局、样式等等,所以试着在你的资源中找到并修复这些问题,然后清理你的项目。

清理项目对我的情况有帮助

去吧

Build -> Clean Project

这个错误发生在我身上是因为有一个 在 activity _ main.xml 文件中输入无效。

当您尝试 建立或清理您的项目时,您将看到 错误信息

我解决了我的 读取那些错误信息纠正 xml 文件中的错误。然后 重建计划

  1. 重建项目。
  2. 如果(1)不工作,重新启动 Android Studio/Eclipse。

如果两者都不起作用,请检查所有的 xml 文件。当 xml 文件不正确时会发生此错误。

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

这个问题发生在 重命名包的名称。在重命名包名之后,必须将 更老包名更改为 更新包名。

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

之后,您可能会在 Xml 文件中遇到错误,您必须在那里更改包的名称。

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

不应该做的是导入 R 文件

  • Android Studio-> Build-> Make Project Or Make Module‘ xxx’fix the problem Android Studio-> Build-> Make Project Or Make Module‘ xxx’修复问题。
  • 是的,运行应用程序不能解决这个问题..。
  • 是的,干净不能解决问题..。
  • 是的,文件-> 无效缓存不能修复问题..。
  • 顺便问一下,我应该用“ yes”还是“ may be no”在英语中是正确的?

当从一个示例创建一个项目时,不导入现有的项目是好的(防止与 gradle 冲突,。主意。Iml、 build、 jar 和 apks,也就是所有不必要的 build 生成文件) ,在创建一个新项目,复制和粘贴所有相关资源之后,我建议:

检查项目中的包和从包的导入{ AndroidManifest 声明和 java 类中的所有导入} ,所有资源(可绘制的,mip-map,布局和菜单 & 你的 build.gradle (最新的 sdk 可以提供一个 build.gradle 的样本) ,看看它们是否存在,声明的字符串和 id 是否确实存在并已被使用,之后你唯一的错误应该是问题:

楼宇建造-> 清洁工程

工具-> Android-> 同步项目与分级文件

文件-> 使缓存失效并重新启动

在最坏的情况下,重新启动您的机器会有所帮助。

以上应该可以。如果有必要,可以随意提问,比如发表评论。

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

解决方案 : 我通过在导入中添加以下内容解决了‘ R’错误,然后重新构建项目,错误就消失了。

Import com.mkyong.android.R;

解释 : 有时候 Android Studio 不会添加导入,即使你多次构建或运行“优化导入”命令。有时当你“重新启动 Android Studio”时,错误会得到解决,但有时即使重新启动了多次 Android Studio,错误仍然存在。 谢谢。

只要进入 Android 顶部菜单列表。点击 建造菜单,在构建下点击 重建计划

enter image description here

当我还是 Android 工作室的初学者时,这是我面临的一个普遍问题。 通常,当十六进制代码转换过程中 R.java 文件无法正确识别合适的幻数时,就会出现问题。 因此,我们应该记住,所有 XML 文件都是正确编写的。这通常是由于 XML 文件中的问题引起的。 进入每个 XML 文件,确保所有文件都是真实有效的。 然后转到文件并同步该项目。我的错误删除多次通过这样的步骤。

在你的 build.gradle 中加上这个句子:

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

了解那个机器人工作室非常重要 有两种类型的进口

  1. Java 导入类型
  2. 内部导入类型

和我们的问题与 android 导入类型作为导入 android.R

工作顺利吗? 但你没有进口机器人 R?

Android 工作室添加这个自动但语法不同

来解决我们的问题

  • 首先你需要做一个新的项目“空白”
  • 然后将第一个项目中的所有文件复制到新项目中,Java 文件除外
  • 然后需要创建具有相同名称的新 Java 类

并轻松地复制您 Activityjava 类的所有内容

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

别忘了给你的类添加扩展

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

你必须取消选择 android R 然后按 OK

它会正常工作的

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

//参见下一张图片

选择要导入的类 如果你不知道究竟是哪个 java 类文件导致了这个问题 使用项目

中的所有 Java 文件执行此解决方案

祝你好运 @ ABT

这主要是由于 xml 文件中的错误造成的,检查您最新的 xml 更改并重新构建它,我也有同样的问题。

你必须 改变道路:

比如说

import it.example.project.myproject.R;

换衣服

import it.example.project.R;

我在清单的包声明中出现了复制/粘贴重用错误

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="wrong.package.name">

Main 活动名称有正确的路径,所以清单没有任何检查错误。

在解决这个问题之后,尽管构建成功,源文件仍然显示错误。我只是运行应用程序,然后源错误指示器清除。

有一件事每次对我都很有效:

进入—— > build.gradle (Module: app)文件—— > 做一点改动(例如: 在某处放一个空格,然后将其移回)—— > 然后 android 工作室会要求你同步你的 gradle 文件—— > 在文件的右上角—— > 选择“现在同步”。

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

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

android.enableBuildCache=false

分级财产。

有时候这些构建错误会莫名其妙地持续下去。如果这种情况发生在你身上,试试下面的方法:

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

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

同步你的项目与格拉德尔!Select Tools → Android → Sync Project with Gradle Files Android Studio 将使用正确的项目设置从头开始重新构建项目,这可以帮助解决更改 Gradle 配置后出现的问题。

运行 Android Lint!Lint 可能会给你关于问题的好的信息。如果上述方法不起作用,这就是你最有可能发现问题的地方。运行 Lint,select Analyze → Inspect Code → select Whole project → OK 仔细分析 Lint 建议; 从错误开始,然后是警告。

祝你好运。

我有同样的问题时,我添加了一些图像文件在可绘制的文件夹,其中的文件名是在’大写’。我将它们重命名为普通格式名称并按下重建项目。这招对我很管用。

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

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.

我有一个类似的问题几个星期,但我有设计库版本 + 在我的 build.gradle,使它下载最新的版本。所以我设置了软件包的版本,它工作了。

这个问题,就像大多数人提交的一样,很可能来自。Xml 文件。但是要找到它却是一件相当麻烦的事。

在我的例子中,Manif.xml 文件中有一个属性导致了这个问题。我经历了无数个不眠之夜,直到我发现了它,然后干脆删掉了那一行。 属性是

Android: fullBackupContent =””

尝试首先使用以下命令清理和重新生成项目

1) Sync Project with Gradle files
2) Build -> Clean Project
3) Build -> Rebuild Project

在检查 XML 文件中是否有错误之前。如果 XML 文件包含任何错误,则其创建问题将重新生成项目并影响

R

最近我将我的项目导入到 Android 工作室,一部分 R 被标记为红色,错误信息是“无法解析符号 R”,但是编译成功并且应用程序运行。

发展环境:

  • IDE: Android 工作室3.1.2
  • 系统: Mac Os

解决方案:

第一步:

找到 Android 工作室的配置文件
我的道路:

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

第二步:

更改2500:

idea.max.intellisense.filesize=2500

至5000人或以上:

idea.max.intellisense.filesize=5000
  • 在我的例子中,它是 gradle issue。我用 refreshing gradle解决了它:

  • 首先,点击 Android Studio 右侧的渐变图标

  • 然后单击刷新按钮

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

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

这已经有了很多有用的答案,但这里有一些可能有用的东西,它在我的案例中起到了作用:

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

什么也不做。只是 更新 Android Studio。解决我的问题! 工作完美。

我在“ com.android.tools.build: gradle: 3.3.1”中遇到过类似的问题,我尝试了以上所有的解决方案,但都没有效果。它实际上是建立: 级别3.3.1的问题。我把它改成了3.2。1,然后它工作了。

因此,它可以问题与构建: 梯度版本。

只要和 格莱德文件同步就行,我没问题

很多时候,这种情况通常发生在您更改了任何布局文件时——您可能在其中包含了一个新的库组件(通常发生在代码复制粘贴期间)。由于这种复制粘贴,您可能会忘记在 build.gradle文件中添加依赖项。

因此,当您构建/编译项目时,Android Studio 无法理解库中新添加的组件(因为库还没有成为项目的一部分)。

因此,请确保在 build.gradle中添加了新的依赖项。 那就同步一下。

检查 Android Studio 中的 Gradle 安装版本和 Build.Grable 文件中提到的那个版本

「依赖项目」 Classspath‘ com.android.tools.build: gradle: 3.1.1’类路径‘ 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 文件以了解已安装的版本。