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

“cannot resolve symbol R” in Android Studio

在我引用R.id.something的所有类中的每个实例中,R为红色,表示"无法解析符号R"。 此外,每次有R.layout.something时,它都用红色下划线表示"无法解析方法setContentView(?)"。 该项目总是很好。 一直看到这一点很烦人。 我在这里已经阅读了许多关于类似的东西的其他问题,但大部分涉及从Eclipse导入项目。 我使用的是我认为最新版本的Android Studio,该项目是使用Android Studio创建的,并且没有任何"无法解决R"问题。 如果有人知道,我想知道是什么原因造成的。


我也有这个问题。一个简单的'gradlew clean'和'gradlew build'就可以了。

单击Build-> Clean Project,这将执行gradle清理


在Android Studio的最新版本中,至少对我来说,以下工作:

"工具" - >"Android" - >"与Gradle文件同步项目"

在最新的Android Studio 3.1.3(2018年7月)中,主菜单栏中提供了"与Gradle文件同步项目"。

enter image description here


我使用的是gradle 3.3.0。这是罪魁祸首。从我的生命中浪费了6.50小时。 Gradle 3.2.1删除了错误。

1
classpath 'com.android.tools.build:gradle:3.2.1'

更改gradle版本后问题已解决。详细历史记录可以在这里找到。


我有类似的问题,这是我做的:

清理项目和使用Gradle同步项目,

enter image description here

检查我的sdk中的buildTools版本
enter image description here

从构建gradle(模块)将minSdkVersion从8更改为9

1
2
3
4
5
6
7
defaultConfig {
        applicationId"PackageName"
        minSdkVersion 9
        targetSdkVersion 22
        versionCode 1
        versionName"1.0"
    }

但这一切都无济于事。

最后我找到了答案(这在我的案例中有效)

从build.gradle(模块:app)更改

1
2
3
4
5
6
android {
    compileSdkVersion 21
    buildToolsVersion '21.0.1'
......
....
}

要么

选择文件|项目结构将构建工具版本更改为21.1.1

enter image description here


  • 检查您的xml文件。
  • 清洁项目。
  • 就是这个。

    例如,我在strings.xml中有一个条目:

    1
    <string name="A">Some text</string>

    activity_main.xml中我使用了这个字符串条目

    1
    2
    3
    <TextView
    android:id="@+id/textViewA"
    android:text="@string/A"/>

    当我一直在使用项目时,我删除了它

    1
     <string name="A">Some text</string>

    因此activity_main.xml变得无效。结果:无法解决R.

    因此,请检查*.xml文件并清理项目。


    如果在将java文件或目录移动到其他位置后看到此错误,则可以保证Android Studio已经混淆了。你猜怎么着?撤消这些操作并不能解决问题。

    所以你试试干净,但这不起作用。

    并且重新启动也不起作用。

    但是尝试File - > Invalidate Caches / Restart ... - > Invalidate and Restart

    Android Studio维护有关哪些文件依赖于哪些其他文件的信息。由于移动文件未正确实现,因此移动文件会导致错误。并非全部:这些依赖项的缓存用于尝试加速构建。

    这意味着您不仅需要重新启动,还需要使这些缓存无效以恢复(或更准确地说,重建)完整性。


    这个问题似乎有很多原因。最近,我添加了一个名为NewActivity的测试活动。这创建了一个名为res/menu/new.xml的文件,gradle不喜欢该名称,因为new是一个保留字。

    gradlew clean

    要么

    "Tools" ->"Android" ->"Sync Project with Gradle Files"

    这些绝对是值得尝试的好东西,但在运行这些命令之前,您可能还需要解决一些其他问题。


    我想如果你把你的活动文件放到另一个文件夹而不是默认文件夹。您需要将com.example.yourproject.R(这是您的项目R文件而非Android.R文件)导入到使用R的所有活动。例如,在MainActivity文件中插入以下行:

    import com.example.yourproject.R;


    R.java文件包含xml和java页面之间的链接。只有在某些资源文件出现问题时才会出现"无法解析R"。所以最好和最有效的方法是删除res文件中的最后一个完成的xml或drawable。然后根据android编码规范再次从那里开始。这是唯一的方法。有效而正确的方式。

    也可以使用Git来正确跟踪代码。 ..


    你的代码只是乱码。答案很简单。

    Just go to **Build** --> **Clean Project**.

    这应该够了吧。

    我目前正在使用Android Studio 3.0.1。


    您最近更新了SDK工具吗?启动android SDK管理器并确保您拥有最新的SDK工具,现在它们与平台工具分开。我第一次更新我的SDK管理器时遇到了同样的问题,在我关闭并重新打开SDK管理器之前,SDK构建工具包没有显示安装/更新。


    只需清理项目并使用Gradle文件同步项目。enter image description here

    问题将得到解决。


    我最近有这个问题,清洁/构建等没有解决它。我猜我在某个地方遇到了问题,但不确定在哪里找到它(是在清单,资源xml文件等?)。

    当出现问题时,您可以通过执行代码分析来了解它是什么。

    从顶部的菜单中选择:

    分析 - >检查代码,使用"默认"配置文件扫描整个项目。

    您的检查结果将包含一个名为"Android"的元素。在这里,您将获得导致资源和清单文件出现问题的任何列表。这些错误将打开生成的生成的xml文件,这些文件将以红色显示任何错误。

    我的确切问题是由于我使用基于风味的清单文件而导致的,并且我在意外的情况下在标签中复制了一些权限。

    Inspection

    更新:我确实有一个问题,Android Studio仍然在修复后显示错误,即使我现在可以构建并运行完全正常,但错误仍然存??在。 (我正在运行一个金丝雀构建,所以暂时将其归结为此)


    只需转到Android顶级菜单列表。单击Build菜单,在Build下单击Rebuild Project。

    enter image description here


    这是一个非常古老的问题,但它仍然发生了很多,这里没有真正全面的答案。

    我遇到这个问题的次数比我想承认的要多。它可能是由各种各样的问题引起的,这些问题主要与您的项目结构不符合预期的问题有关。这是我所有问题的清单:

    从Eclipse导入到Android Studio并不总能顺利运行,尤其是对于旧版Android Studio。确保您使用的是正确的目录树。对于适度成熟的应用程序,它应该是这样的:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    AppName/        // AppName is your app's name, obviously
        .gradle/    // This is a compiler created directory. You should normally leave it alone
        .idea/      // Ditto
        build/      // This too
        gradle/     // And this
        app/
            build/
            libs/
            src/
                androidTest/   // Tests based on the Android instrumentation runner should go here
                main/
                    java/
                        fully/           // Typically com
                            qualified/   // the domain name. Longer package
                                         // names may have deeper folder trees
                                AppName/ // All your java files go here
                    res/
                        drawable-*/      // One of these for each resolution you support
                        layout/          // All of your general layouts
                        menu/            // All of your menu layouts
                        values/          // All of your resource xml files
                        xml/             // PreferenceScreen layouts go here
                    AndroidManifest.xml
                debug/        
                test/          // Pure jUnit tests should go here
            .gitignore
            app.iml
            build.gradle   // This is the gradle file you should be making most changes to
            proguard-rules.pro
        .gitignore
        build.gradle       // This gradle file should mostly be left alone
        gradle.properties
        gradlew
        local.properties
        AppName.iml
        settings.gradle

    它可能在您的IDE中看起来不像这样。文件树上方有一个下拉列表,以不同的方式显示您的文件,它在我的系统上默认为一个名为Android的文件,将您的文件分成不同的类型。从名为Project的问题中解决此类问题更容易,甚至可以直接从操作系统的文件系统中解决,因为Android Studio会将仅包含其他文件夹的文件夹折叠到一行中。

    特别是如果您更改了应用程序的名称,则需要确保更新源树main / java / com / domain / AppName。还要确保AndroidManifest.xml中的包标签正确无误。

    如果您的Gradle文件或AndroidManifest.xml中存在错误,则会阻止Android Studio正确构建您的资源文件。有时可以通过升级Android Studio来破坏Gradle文件,尤其是1.0之前的版本。有时这是因为它停止支持旧版本的Gradle插件,因此您需要更新版本号。有时候很难找到当前版本的内容。截至今天,2015年7月17日,我的应用程序正在编译com.android.tools.build:gradle:1.2.3。这是在最外面的gradle文件中的依赖项块中,

    如果您的AndroidManifest引用了不存在的drawable或字符串资源或活动,它将会中断并导致此错误。有时,如果有任何引用不存在的drawable或字符串资源,您将收到此错误。

    如果资源中的文件已损坏,或者xml文件无效,则会出现此错误。

    根据我的经验,有时候Android Studio会毫无理由地打嗝,你需要重新启动它和/或你的PC。我不知道为什么,但有时候它有效。

    如果您有两个具有相同名称的xml资源,则在不会相互覆盖的目录中,您可能会遇到此问题。例如,您可以在drawable-mhdpi和drawable-xhdpi中使用相同的名称,因为它们会根据目标设备相互覆盖,但如果在布局和菜单中具有相同的名称,则会导致问题。重命名或删除其中一个文件。

    如果只有一些资源出现此问题,那么这些资源很可能位于错误的目录中。

    在一个案例中,我不得不完全重新安装Android Studio。我不知道出了什么问题,但它确实有效。

    在一个案例中,我将整个项目移动到另一个目录,并将其作为新项目重新导入。我不知道出了什么问题,但它确实有效。

    带有名称保留字的Xml文件可能会导致此问题。重命名或删除它们。

    Gradle文件有几种方法可以最终引用您尚未安装的构建工具版本。通过更改Gradle或下载相应的构建工具来纠正此问题。

    最后,在修复了任何错误后,您需要清理Gradle项目。您可以通过转到顶部的"生成"菜单并选择"清理项目"来完成此操作。


    当我手动重命名我的应用程序的域文件夹时,我遇到了这个问题。要解决这个问题,我必须这样做

  • AndroidManifest.xml中设置的正确package文件夹结构。
  • AndroidManifest.xml中设置android:name android:name的新包位置。
  • 清除缓存
  • File Menu -> Invalidate Caches / Restart ...

    一旦Android工作室重新启动并构建新索引,问题就会消失。


    我有这个

  • 我的可绘制资源中的大写字母。
  • 导入Android.R由Android Studio(或Eclipse)添加
  • xml文件中的错误

  • 我遇到过同样的问题:
    Android Studio 3.2
    该项目编译并运行正常,但我得到"无法解决符号"R"屏幕上的警告

    没有帮助:

    • 建设 - >清洁项目
    • 构建 - >重建项目
    • 文件 - >使高速缓存/重新启动无效

    帮助:

    在build.gradle中

    1
    2
    3
    4
    dependencies {
            classpath 'com.android.tools.build:gradle:3.3.0'
    ...
    }

    用。。。来代替

    1
    2
    3
    4
       dependencies {
                classpath 'com.android.tools.build:gradle:3.2.1'
        ...
        }

    要么

    将Android Studio更新为3.3


    我不得不在android studio中导入我的R包。例如:import com.example..R


    我有一个特殊情况来解决这个问题。

    在我的项目中,一切顺利,它可以成功编译和构建,但在我的Android Studio IDE(我也尝试过智能IDEA,它们处于相同的情况),R.java文件无法很好地解决并始终是掉在红线上。

    像这样:
    enter image description here

    这几乎让我发疯,我在编程时无法忍受读取的颜色。

    最后我发现这个棘手的问题是由我的R.java的文件大小引起的。
    我的项目非常庞大,它支持许多多语言和多屏幕尺寸。资源太多,我的R.java文件大小约为2.5M。

    在默认设置中,Android Studio中文件的最大大小为2.5M,因此无法很好地解析大于此限制的文件。您可以更改"AndroidStudio-root / bin / idea.properties"中的默认设置。

    改变这一行:

    1
    idea.max.intellisense.filesize=2500

    至 :

    1
    idea.max.intellisense.filesize=5000

    然后重启Android工作室,红色被解雇,我可以再次愉快地编程。


    做:构建>清理项目

    重要信息:确保在消息窗格(Alt + 0)中清洁项目后没有任何错误。如果您发现任何带感叹号的红色圆圈,则必须删除代码中的错误。

    这些错误大多与@ string /或@ array /有关。再次清理项目并完成!


    我自己很难解决这个问题。

    • 确保layout.xml文件中没有错误。
    • 转到"构建">"清理项目"

    它对我有用,希望它也适合你。


    构建>清洁项目

    这对我有用。有几次同样的问题,这似乎是正确的。除非你改变了某些东西或称为变量R.这个问题通常不会发生,当它发生在我身上时,所以我想它只是Android工作室吓坏了。哈哈

    有一个好的,祝你的项目好运。


    我遇到了同样的问题,当我创建一个新项目时就会发生这种情况。

    我所做的是:

    • 检查SDK更新
    • 然后android工作室更新,
    • 然后重新打开项目
    • 打开andoridmanifest.xml
    • 擦除android:标签中"_>"之间的空格并保存。

    这对我行得通。


    `我有同样的问题,它解决了:

    1
    2
    3
    4
    5
    6
    7
    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.`


    我遇到了同样的问题,而且大部分时间都是由它解决的

    • 使用gradle文件同步项目
    • 做构建 - >清理项目
    • 执行文件 - >使缓存无效

    但是这次错误在做完所有这些事情之后仍然存在,最后我找到了罪魁祸首。

    问题出在一个xml文件中,我给了android:id而不是id资源类型的普通字符串值。

    错误

    1
    android:id="username"

    更正

    1
    android:id="@id/username"

    Messing up things related to resources in xml files is a major
    reason for this error.Beware of the fact that it may not be shown as an error in the xml layout file.

    注意

    在大多数情况下,编译器会向您显示Message中的错误源。
    尝试在尝试其他解决方案之前先检查它


    同样的问题。我在可绘制文件夹中添加了一些图像并尝试访问它们时启动。添加的图像也是大写字母的扩展名。这似乎已经破坏了构建,因为即使我重命名它们,消息也是相同的,R无法访问。我所做的是,在.iml文件中我查找了excludeFolder并将其删除(如下图所示):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      <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/incremental" />
      <excludeFolder url="file://$MODULE_DIR$/build/libs" />
      <excludeFolder url="file://$MODULE_DIR$/build/manifests" />
      <excludeFolder url="file://$MODULE_DIR$/build/res" />
      <excludeFolder url="file://$MODULE_DIR$/build/symbols" />
      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />

    之后我重建了这个项目,R神奇地重新出现了。


    导致此错误的原因有很多。

  • 有时会发生更换保持相同名称的图像文件。
  • 假设您从布局中删除了一个项目.xml说一个
  • 还有很多。
  • 跟踪错误的最佳方法是重建它,而不是干净或同步做一些故意的错误。

    如果它没有解决你的问题那么必须有一些缺陷或运行时错误或由于资源的不当使用而发生错误可能是你的代码或设计中的java或xml文件强制gradle停止因为(R )esource文件无法正确索引您的资源,您必须承认。

    如果您的项目在进行更改之前运行,则注释掉您所做的更改并尝试重建项目。

    它肯定会起作用,因为不会有任何变化。

    要跟踪确切的错误,请通过将更改分解为更小的模块来检查更改。

    例如 - 如果您使用按钮单击并在适配器中插入列表值来显示列表,请首先检查您是否能够使其可见,然后检查适配器错误。


    这种表示法似乎工作正常。

    1
    android:id="@+id/viewID"

    Android Studio的设计面板似乎效果不佳。


    只需从根包中导入R符号即可

    1
    import rootpackage.R;

    没有重建,同步或其他事情......


    最近,当我更新项目的大部分库时,这种情况发生在我身上。找不到R,但我可以很好地构建和运行该项目。它没有崩溃。 IDE到处都显示红色。

    我试过了

    • 检查是否有损坏/不正确的XML和图像
    • 检查无效的资源文件名(例如大写),找不到
    • 降级一些库,因为可能是资源冲突,没有解决
    • 降低了compileSdkVersiontargetSdkVersion,因为在过去,我遇到了资源问题。然而,在这个项目中,情况并非如此。
    • 干净,没有帮助
    • 重建项目,没有帮助
    • 无效缓存/重启多次,没有帮助
    • 调整idea.max.intellisense.filesize到非常高的值,没有帮助
    • Lint运行了,没有发现错误

    最后,我发现降级我的Gradle构建工具(从3.3.1到3.2.1)解决了这个问题。这是我必须做的唯一改变。其余的,更新。现在,我的所有库都会更新而不会出现问题。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    buildscript {
        repositories {
            google()
            jcenter()
        }
        dependencies {
            //classpath 'com.android.tools.build:gradle:3.3.1'
            classpath 'com.android.tools.build:gradle:3.2.1'
            classpath 'com.google.gms:google-services:4.2.0'

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

    更改最新的sdk版本,这对我有用

    1.单击文件,然后单击项目结构
    2.然后选择"app"
    然后点击确定,它对我有用。
    enter image description here


    就我而言,它是通过将Android Studio从3.1更新到3.3来解决的

    要更新您的Android Studio:文件 - >设置 - >系统设置 - >更新,然后单击立即检查。

    enter image description here


    这对我来说是个头疼的问题。在我的情况下,在Android Studio(安装+ build.gradle配置)中配置"Google Play服务"后出现错误。这反过来要求minsdk> 7,但错误是非常不清楚的(实际上对此的抱怨只显示为"信息")。无论如何..在清单文件和build.gradle文件中将minsdk更改为8并重建项目时,错误消失了。

    所以..关于这一点的一般建议,如果我可以概括 - 你的清单文件或其他配置文件可能有一些问题,这阻止了正确的构建。尝试非常努力地查看错误报告,甚至是标题为"info"的消息,以获取有关它可能是什么的任何提示......


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

    转到项目的 - > build.gradle (Module: app)文件 - >做一点改动(例如:把某个放回去并将其删回) - >然后android studio会要求你sync你的gradle文件 - >在文件的右上角 - > select"sync now"

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


    清理,重建和"缓存删除"对我没有帮助,更新Android Studio解决了这个问题。


    在Ubuntu 12.04上,这些都不适合我。我必须做以下事情:

    1
    2
    sudo apt-get install lib32stdc++6
    sudo apt-get install lib32z1

    在那之后,我在这个帖子中遵循了一些其他建议,做了Build - > Clean Project,一切都很好。


    我为可绘制的资源添加了一些图像,我的一个图像被命名为"super.jpg",结果证明是一个原因。

    重命名图像,在同步后,项目与gradle文件修复了错误。


    对我来说,问题是我升级到Gradle版本似乎有一些错误。 3.4.0-alpha02是我更新的内容,发现这是"无法解决符号R"错误的罪魁祸首。我恢复到3.3.0-alpha10(即classpath 'com.android.tools.build:gradle:3.3.0-alpha10')并解决了这个问题。

    这显然不是一个持久的解决方案,因为我需要迟早升级,但截至2018年11月3日3.4.0-alpha02是最新版本,它阻碍了我的开发,不让我通过点击IDE跳转R参考。


    伙计们,我觉得这里黑暗中有很多镜头。在某些情况下,只有在解决问题后,清洁和同步项目才有用。

    步骤1:
    因此,请查看指定包的每个文件的顶部,如下所示pakage="YourURL.YourProject";,并确保指定了正确的包(您自己的项目)。
    您将在java文件和AndroidManifest.xml中找到它,并且java文件引用正确的包是至关重要的,因为该包包含您指向的资源("R")。如果它们不匹配,则错误无法解决符号R发生。

    第2步:
    清洁,同步,等等。完成

    那为什么这会随机发生或者我做错了什么?

    如果您复制并粘贴代码,则应密切关注"package =",如上所述。更重要的是,当你粘贴代码时,它会立即通过一种调试器(请原谅我的坏技术术语)来显示"假定的错误",这会立即考虑到"错误的包",并且你会得到所有的错误。
    因此,即使您在粘贴后立即更正了表示法,调试器也已刷新。这就是为什么"清洁,同步,随便"有效的原因


    对我有用的是:

  • 创建了一个新项目。

  • 发现R是wokring!

  • 比较所有配置。
  • 在gradle文件中发现差异:compile'c??om.android.support:appcompat-v7:23.4.0'

  • 同步,它又恢复了!


  • 当我导入google-services.json文件以实现Google Analytics时,我遇到了这个问题。我已经在xml文件夹中有了global_tracker.xml文件。在构建期间,在合并google-services.json文件中的内容时,错误已开始发生。

    删除goolgle-services.json文件后解决错误。


    我有这个问题,特别是当我不小心损坏布局或菜单资源文件时。当我忘记添加"@+id"我在菜单项中定义id的位置时,我点击的场景无法解析符号R.

    使用损坏的菜单资源文件,如果我尝试使用它构建项目,则会出现此错误。因为R是资源的容器类,所以当它无法解析资源,.xml文件时,似乎gradle无法绑定R.

    解决方案只是修复资源文件,清理项目并重新构建。


    我在androidmanifest中有android:textAllCaps ="false",这对R file造成了严重破坏。我删除了它,一切都很好。我认为target sdk设置得不够高。


    确保项目中有AndroidManifest.xml。

    我碰巧导入了一个没有清单的项目,因此Android Studio无法将其识别为Android项目。然后我在GIT中拉出了项目并下载了清单但仍然没有工作。
    然后我重新启动Android Studio,它说"Framework detected android"之类的东西。

    因此,请确保将项目配置为Android项目。


    在使用Android Studio 0.2.13的OS X上,我在我的一个活动中对com。 .R import执行了"跳转到声明"。当我回到活动文件时,所有警告都消失了。

    编辑:您需要在此之前构建当前的构建变体。


    在我的例子中,导入应用程序域名后跟".R"解决了这个问题。例:

    1
    import com.example.myapp.R;

    上述答案都没有帮助我。我终于意识到问题是Android Studio中缺少"build"文件夹。我在项目"iml"文件中找到了许多行,不包括"build / *"。删除后,出现构建文件,错误消失。


    首先检查是否有任何xml布局中的错误,如果然后再解决它。

    否则从项目中删除junit依赖项并重建项目。enter image description here


    在我的情况下,在使用android studio版本0.8.9获得相同的错误(无法解析符号R)后,我所做的是转到File-> Project结构并将JDK位置更改为我手动安装的oracle JDK。所以在我的情况下在linux而不是/ usr / lib / jvm / java-7-oracle这是预设的一个。我将其更改为/home/phvz/App/jdk1.8.0_20保存设置并立即修复R符号问题


    在我的情况下代码在我更新android studio之前正常工作。更新后R文件未生成。我正在处理自定义视图并具有属性

    1
     

    在我的声明样式。系统的ui也使用了同样的属性:

    1
    2
    3
    4
    5
    6
    7
    <style name="Base.Widget.AppCompat.CompoundButton.Switch" parent="android:Widget.CompoundButton">
        <item name="track">@drawable/abc_switch_track_mtrl_alpha</item>
        <item name="android:thumb">@drawable/abc_switch_thumb_material</item>
        <item name="switchTextAppearance">@style/TextAppearance.AppCompat.Widget.Switch</item>
        <item name="android:background">?attr/selectableItemBackgroundBorderless</item>
        <item name="showText">false</item>// this line
    </style>

    我将之前的showText重命名为showTextFormat,然后重新生成R.java文件的gradle sync。


    构建 - >清理项目或重建项目
    要么
    文件 - >使高速缓存/重新启动无效... - >无效并重新启动


    在我的情况下:res / someLayout.xml文件出现一些错误,然后我解决它。
    然后清除项目。
    错误消失了。


    我发现在大型项目中,自动生成的R.java大于2.55MB(Intellij的默认限制),这会导致文件生成但未解析。解决它只是增加限制:

  • 在Android Studio帮助 - >编辑自定义属性...
  • enter image description here

  • 接受并添加:
    idea.max.intellisense.filesize=3000
    (3000或任何大于R文件大小的值)
  • enter image description here

  • 最后,重启你的Android Studio!

  • 我按照上面的一切,它没有奏效。在我的情况下,当我将每个Java函数都设置为红色以进行Android-L预览时,我必须设置JDK ...

    在Mac上:

  • 单击代码中的红色(或带下划线)(即Activity,String)。
  • 单击左侧显示的红灯灯泡点。
  • 选择"Setup JDK"。
  • 验证annotations.jar和android.jar是否在您正在使用的当前SDK版本中(我的案例SDK 20 Android-L)。你还应该有"res"文件夹,但我仍然在设置中有它。
  • 如果没有,请选择SDK并按" -"。
  • 然后按"+"并在计算机上找到SDK文件夹(Mac:Applications> Android Studio.app> sdk)。
  • 选择您需要的SDK版本(在我的情况下为20 Android-L)。
  • 按添加。
  • 构建和同步。
  • 然后一切都恢复正常。


    这是由于最近删除的xmls造成的
    在Android Studio中通过选择以下内容从这些xml中清除项目:
    构建 - >清理项目


    上述答案都没有解决我的问题。所以我添加了我的解决方案以防有人遇到类似的问题。在我的build.gradle依赖项中,

    1
    compile 'com.android.support:appcompat-v7:22+'

    我的compilesdk版本是
    compileSdkVersion 21,所以android studio不开心。我只是将compilesdkversion更新为23并进行同步。

    我还将依赖关系更新为

    1
    compile 'com.android.support:appcompat-v7:23.1.1'

    在工具 - > Android - > SDK管理器 - > SDK工具选项卡 - > Android支持库 - >版本中匹配我的支持库。
    现在一切都很好。快乐编码:)


    我将我的XML文件放在LAYOUT文件夹而不是MENU文件夹中。

    这是从Eclipse迁移到Android Studio的结果。

    对我来说解决方案很简单...将我的XML文件移动到MENU文件夹并重新编译。


    我做了make project,它的工作原理
    但在此之前,请尝试检查清单中的包名称,重建并清理项目。如果问题没有解决,那就要制作你的项目了


    显然在我的情况下,通过在末尾添加"*"来解决问题

    1
    import android.R.*;


    修复"无法解析符号r"错误。
    试试这些解决方案

  • 建立 - >清洁项目。

  • 构建 - >构建项目。

  • 构建 - >制作项目。
  • 工具栏左侧的第三个图标 - >使用gradle文件同步项目。
  • 文件 - >使缓存无效并重新启动。
  • 确保在应用程序级gradle文件中使用兼容的gradle版本。
  • 例如:"classpath'com.android.tools.build:grad:X.X.X'"。

    我希望这些解决方案可以帮到你。

    谢谢阅读。


    在我的情况下,我需要修复布局XML文件中的一些错误。没有图标表明文件包含错误。但是,当我点击它们时,我注意到一些红线。固定后,发现R


    考虑以下IDE功能:

    • 使用gradle文件同步Project
    • 建立 - >清洁项目
    • 构建 - >重建项目
    • 文件 - >使缓存无效

    我的简单解决方案是:

  • 检查应用程序build.gradle的依赖项或/res目录中的所有资源文件中是否存在错误行;使用时,在没有引用的情况下保留属性值时会出现一些常见错误:

    • "@串/.."
    • "@样式/.."
  • 确保在重建项目时没有收到Android资源链接类型错误的错误。
  • 打开包含错误Cannot resolve symbol 'R'的行的文件
  • 使用所述错误行滚动到类的最后一行
  • 单击班级关闭键}右侧的位置
  • In this way, the IDE alert dialog appears to perform the import of the R-class.

    GL


    在新的android studio 2.2中。如果您的TargetSDK = <15,那么您也可能会发现此问题。在gradle.build中更改此设置,然后按照之前的答案执行相应步骤。同步gradle文件并重建。您还可以使缓存无效并重新启动工作室,这有时也会有所帮助。


    将gradle插件从版本1.3.1升级到后,我收到此错误

    1
    classpath group: 'com.android.tools.build', name: 'gradle', version: '2.2.1'

    它迫使我改变所有引用

    1
    import [applicationId].R;

    1
    import [package].R;

    在我的库项目中,appcontext.getPackageName();停止正常工作。我用它来通过反射获取正确的应用程序资源但是在升级gradle插件之后它开始返回特定于风味的applicationId,而不是包...你可以在这里阅读更多相关信息。


    就我而言,我试图cleanrebuild项目。问题没有解决,因为布局文件中存在错误。要重新创建,我在app命名空间中的属性上添加了一个拼写错误。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
        <item
            android:id="@+id/add_user"
            android:icon="@android:drawable/ic_menu_add"
            android:title="Add User"
            app:showAsActioin="always"
            />
    </menu>

    Android Studio没有检查app命名空间的属性,似乎文件没有错误。现在在构建项目时,它说Cannot resolve symbol 'R'。错误显示在构建日志中。

    Cannot resolve symbol 'R' - Android Studio

    修复拼写错误修复它,关注构建日志上的Android问题部分。


    还有一件事要尝试......

  • 删除Build文件夹
  • 通过同步gradle重建项目
  • 我已经在这里尝试了很多其他的建议,比如

    • 清理项目,
    • 重启Android Studio,
    • 修复我的xml中的错误,
    • 将项目与Gradle文件同步,和
    • 更新构建工具版本,

    但这些都没有奏效。

    我最后只是手动删除整个构建文件夹(在备份我的项目后),然后重新启动Android Studio。之后,我在app build.gradle文件中进行了一次小编辑(添加并删除了一个空格),然后单击了sync。 (我可能刚刚从菜单中完成了Tools> Android> Sync Project with Gradle Files。)之后就可以了。在build文件夹中有一些东西被破坏了,重新开始修复它。

    我不知道是否有人在解决方案列表中读到这么远,但无论如何我都会添加这个答案。


    我目前遇到过类似的问题。问题是在我的项目中我有更多的模块。例如。 app模块和library模块。虽然这两个类和R.string资源都来自app模块,但我在那里有import com.package.library.R。不知怎的,Android Studio没有将此识别为错误,Gradle / Sync构建我的项目没有问题。但是当我尝试运行单元测试时,Gradle构建失败并显示错误。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    package com.package.app

    import com.package.library.R;
    //...

    class SomeClass {
      //...
      public void someMethod() {
         Toast.make(context, R.string.message, TOAST_LONG).show();
      }
    }

    R.string.messsage资源实际上在我的com.packagename.app模块而不是com.packagename.library模块中时。删除import ...解决了我的问题。


    如果.xml文件中有任何错误,无论您做什么,都无法解决该问题。我会建议

    - 首先,检查您的XML文件以查找任何错误

    - 第二次查找事件日志Android工作室捕获错误的内容,它将为您提供哪个文件以及错误所在的位置。

    这就是我修复R问题的方法


    注意:仅当您的项目非常大时,这可能对您有所帮助

    TL; DR - 生成的R文件超过2.56 MB且Android Studio没有为其编制索引,您可以按照此处的解决方案:

    文件大小超过配置的限制(2560000),代码洞察功能不可用

    面临着类似的问题。但是这里的答案似乎都没有。

    R文件大于2.56 MB,在打开生成的R文件时,我收到一条消息"代码见解可能不可用"

    更改idea.properties中的默认值以允许更大的文件。

    在移动设备上格式化的道歉。


    我也遇到了这个问题,我就这样解决了。
    首先转到Gradle并单击"清理"。
    其次单击Build。

    确保不要从Android工作室清理


    在非基本功能的即时应用活动中,您可以调用R.id.fromFeatureOneR.is.fromFeatureTwo。因此,来自不同资源的项目被称为单个资源源。

    两者都将被突出显示为可接受,您甚至可以跳转到源。但是构建会导致错误:"找不到符号R.id",找到原因是非常棘手的,因为没有突出显示。

    解决方案是调用com.example.feature.one.R.is.fromFeatureOnecom.example.feature.two.R.is.fromFeatureTwo

    还在Google发布了一个错误:https://issuetracker.google.com/u/0/issues/77537714


    在我的情况下,原因是在res文件夹中有一些图像,名称包含大写字母..

    只需用小写字母重命名并重建


    您可以delete layout files之一(无关紧要),之后您需要build project。项目将构建,之后您需要通过CTRL + Z返回布局文件。在我的情况下,如果我在删除layout file之前尝试构建我的项目,它对我没有帮助。但这种方式还可以。


    大多数情况下,这个问题是由xml文件引起的,看看xml文件,查找任何错误。


  • 类型1:关闭项目并删除项目中的.gradle文件
    然后重建项目
  • 类型2:如果类型1不起作用,那么只需要取回它
    project9Zip文件)然后删除项目。然后提取出来
    压缩项目并只导入提取的项目,它将工作
    完美,因为它适合我。

  • 在项目gradle(即)build.gradle中,只需将com.android.tools.build:gradle更新为

    依赖{

    classpath'com.android.tools.build:grad:3.2.1'

    }


    只需在xml文件中定义app命名空间即可。这是一条完全无害的线,只选择了一个符号(多个符号)才能解决。只需删除整个行,在下面的图片中显示灰色,使我的代码能够引用未解析的符号。即使我添加了线路,它决定构建没有问题。去搞清楚。

    enter image description here


    See the below Image Goto File -> Project Setting -> Set All Setting like image and Sync it will put all latest setting in you project.This Image contain project settings.
    if your project imaported successfull then you have to do this. beacause it will import all update setting and gradle.


    没有什么对我有用,那么我需要更新我的android工作室以使其工作。
    将android studio更新到最新版本后问题得以解决。


    在我执行"构建 - >清理项目"和"使用gradle同步项目"之后。他们都没有决心。我从3.3.0 => 3.2.1(恢复为项目初始状态)下来构建gradle版本,它解决了我的问题。


    我有同样的问题。我尝试了其他人上面提到的大部分内容,即Gradle Sync,验证缓存和重启,清理和重建项目......重启android studio并仍然遇到同样的问题...

    我在这里的问题,我假设其他人可能有同样的问题。我在新创建的布局文件的名称上有空格...而不是file_example.xml我的文件是_example.xml **(注意文件和_之间的空格)**当你试图找到对这个布局文件的引用时你会遇到错误。

    我建议您查看刚刚创建的最新布局文件,稍微重构名称,然后将R.layout更改为活动/片段中的新文件 - >
    然后clean..rebuild项目,Project将编译没有任何错误。至少在我的情况下,这是我的问题的解决方案。


    我想我有最终的解决方案。我做了一项研究,发现Android Studio在安装路径或目录中讨厌"白色空间"。它不接受放置在包含空格的目录中的SDK。例如

    C: Program Files(x86) Android sdk

    此目录无效,因为它包含空格。在这里,我已经回答了一个问题,其中一个人无法在Android Studio中更改其JDK路径,因为他的SDK目录中有一个空格。这很奇怪,但似乎Android Studio讨厌带有空格的目录。所以解决方案是 -

    Install the Android Studio as well as Android SDK in a directory or path where, there isn't any white space.

    例如 - 安装Android Studio

    1
    C:\AndroidStudio\

    并安装Android SDK

    1
    C:\Sdk\

    这两个目录都是有效的,因为没有任何空格。每个不包含空格的路径都是有效的。它还解决了其他问题,如"无法解决:junit:junit:4.12"或"Gradle sync project failed"等。


    我正面临一个错误'Unable to resolve symbol R'
    R以红色显示在java文件中。我已经解决了。

  • 不要用大写字母保存任何图像
    像ABC.png。
    首先删除图像或重命名。
  • 清洁项目
  • 重建项目

  • 尝试确保第一行上的完整包名称。假设您有一个名为LoginActivity.java的文件和名为com.domainname.project的包。

    LoginActivity.java的第一行应该是

    1
    package com.domainname.project;

    这相当于在dot.net中指定"namespace"。还要确保包与包含* .java文件的包匹配。


    第一解决方案

    1
    Rebuild your gradle or invalidate/restart your system.

    二解决方案

    1
    delete .gradle and .idea folder from your android project. So you can solve"R" problem

    并且还会在没有任何理由的情况下删除红线错误。


    此问题是由于"res"或"drawable"文件夹中的文件命名引起的。您不能使用任何大写字母来命名资源文件。因此,检查是否有任何此类文件并使用小写字母重命名。

    而且,您也可以尝试这样做:转到:
    文件>无效缓存/重启

    这些选项对我有用。


    我看到这个问题可能会导致很多事情。在我的例子中,我在其中一个活动* .xml文件中有一些textView。我把它放在编辑器里面(稍后通过代码更改它):"NAME: "。显然,"<"和">"字符在我的项目中从每个地方都破坏了导入R.我改变它,它开始工作。我忘了我不能在* .xml文件中使用这些字符,因为它们构建了它的结构。值得记住这一点。


    对我而言,重要的是要说开始的Android Studio会给学习带来麻烦,但是像这里解决方案Clean Project可以解决这个问题,总是检查打包名称并且不要试图弄乱逻辑,我喜欢这个软件但有时我试着想想方式是否正确,我也喜欢Linux,但对我来说Android Studio要重写所有软件,也许这不会发生。无论如何祝你好运!!!!


    我正在研究multi-module项目。当我将所有ui代码移动到一个新模块时,这发生在我身上。

    以下是我如何解决问题:
    我发现当我创建新的ui module时,在/res/values中,它会创建一个新的strings.xml,其中没有任何用处。
    我删除了strings.xml文件,rebuild项目,它的工作原理。


    由于两个地方的image.png文件相同,我有一个未解决的R问题。 res> anim中的一个和res> drawable-hdpi中的相同文件。这导致R无法解决。
    我通过制作启动画面图像并将其从Moray图形目录反复移动到Android项目来创建问题。我一定是把它掉进了res> anim文件夹中。我通过从res> anim文件夹中删除重复的图像文件来解决了这个问题,并且Android工作室进行了更正。


    看看Gradle控制台。就我而言,我包含了一个文件扩展名错误的资源。

    1
    2
    3
    4
    AAPT: libpng error: Not a PNG file
    :app:mergeDebugResources FAILED

    FAILURE: Build failed with an exception.

    重命名文件后,Sync Project with Gradle Files一切都很好。


    //有时因同步不完整而产生问题

    //所以只需按照步骤操作即可完成您的工作

    1
    Click on Build->Clean Project and that will perform a gradle clean


    这很简单"与Gradle同步项目"


    你只需要检查你的Xml文件。
    如果出现错误,则无法解决此错误。
    只需解决xml中的错误然后尝试。

    要么

    从构建中清除项目 - >清理


    1
         The above answers are also the ways to fix the error but if does not work for anyone  then i have an option...

    只需关闭项目,没有其他任何内容,然后再次启动,以便加载引用...
    按照ScreenShots。

    enter image description here
    enter image description here