“cannot resolve symbol R” in Android Studio
在我引用
我也有这个问题。一个简单的'gradlew clean'和'gradlew build'就可以了。
单击Build-> Clean Project,这将执行gradle清理
在Android Studio的最新版本中,至少对我来说,以下工作:
"工具" - >"Android" - >"与Gradle文件同步项目"
在最新的Android Studio 3.1.3(2018年7月)中,主菜单栏中提供了"与Gradle文件同步项目"。
我使用的是gradle 3.3.0。这是罪魁祸首。从我的生命中浪费了6.50小时。 Gradle 3.2.1删除了错误。
1 | classpath 'com.android.tools.build:gradle:3.2.1' |
更改gradle版本后问题已解决。详细历史记录可以在这里找到。
我有类似的问题,这是我做的:
清理项目和使用Gradle同步项目,
检查我的sdk中的buildTools版本
从构建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
就是这个。
例如,我在
1 | <string name="A">Some text</string> |
在
1 2 3 | <TextView android:id="@+id/textViewA" android:text="@string/A"/> |
当我一直在使用项目时,我删除了它
1 | <string name="A">Some text</string> |
因此
因此,请检查
如果在将java文件或目录移动到其他位置后看到此错误,则可以保证Android Studio已经混淆了。你猜怎么着?撤消这些操作并不能解决问题。
所以你试试干净,但这不起作用。
并且重新启动也不起作用。
但是尝试File - > Invalidate Caches / Restart ... - > Invalidate and Restart
Android Studio维护有关哪些文件依赖于哪些其他文件的信息。由于移动文件未正确实现,因此移动文件会导致错误。并非全部:这些依赖项的缓存用于尝试加速构建。
这意味着您不仅需要重新启动,还需要使这些缓存无效以恢复(或更准确地说,重建)完整性。
这个问题似乎有很多原因。最近,我添加了一个名为NewActivity的测试活动。这创建了一个名为
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来正确跟踪代码。 ..
你的代码只是乱码。答案很简单。
这应该够了吧。
我目前正在使用Android Studio 3.0.1。
您最近更新了SDK工具吗?启动android SDK管理器并确保您拥有最新的SDK工具,现在它们与平台工具分开。我第一次更新我的SDK管理器时遇到了同样的问题,在我关闭并重新打开SDK管理器之前,SDK构建工具包没有显示安装/更新。
只需清理项目并使用Gradle文件同步项目。
问题将得到解决。
我最近有这个问题,清洁/构建等没有解决它。我猜我在某个地方遇到了问题,但不确定在哪里找到它(是在清单,资源xml文件等?)。
当出现问题时,您可以通过执行代码分析来了解它是什么。
从顶部的菜单中选择:
分析 - >检查代码,使用"默认"配置文件扫描整个项目。
您的检查结果将包含一个名为"Android"的元素。在这里,您将获得导致资源和清单文件出现问题的任何列表。这些错误将打开生成的生成的xml文件,这些文件将以红色显示任何错误。
我的确切问题是由于我使用基于风味的清单文件而导致的,并且我在意外的情况下在
更新:我确实有一个问题,Android Studio仍然在修复后显示错误,即使我现在可以构建并运行完全正常,但错误仍然存??在。 (我正在运行一个金丝雀构建,所以暂时将其归结为此)
只需转到Android顶级菜单列表。单击Build菜单,在Build下单击Rebuild Project。
这是一个非常古老的问题,但它仍然发生了很多,这里没有真正全面的答案。
我遇到这个问题的次数比我想承认的要多。它可能是由各种各样的问题引起的,这些问题主要与您的项目结构不符合预期的问题有关。这是我所有问题的清单:
从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日,我的应用程序正在编译
如果您的AndroidManifest引用了不存在的drawable或字符串资源或活动,它将会中断并导致此错误。有时,如果有任何引用不存在的drawable或字符串资源,您将收到此错误。
如果资源中的文件已损坏,或者xml文件无效,则会出现此错误。
根据我的经验,有时候Android Studio会毫无理由地打嗝,你需要重新启动它和/或你的PC。我不知道为什么,但有时候它有效。
如果您有两个具有相同名称的xml资源,则在不会相互覆盖的目录中,您可能会遇到此问题。例如,您可以在drawable-mhdpi和drawable-xhdpi中使用相同的名称,因为它们会根据目标设备相互覆盖,但如果在布局和菜单中具有相同的名称,则会导致问题。重命名或删除其中一个文件。
如果只有一些资源出现此问题,那么这些资源很可能位于错误的目录中。
在一个案例中,我不得不完全重新安装Android Studio。我不知道出了什么问题,但它确实有效。
在一个案例中,我将整个项目移动到另一个目录,并将其作为新项目重新导入。我不知道出了什么问题,但它确实有效。
带有名称保留字的Xml文件可能会导致此问题。重命名或删除它们。
Gradle文件有几种方法可以最终引用您尚未安装的构建工具版本。通过更改Gradle或下载相应的构建工具来纠正此问题。
最后,在修复了任何错误后,您需要清理Gradle项目。您可以通过转到顶部的"生成"菜单并选择"清理项目"来完成此操作。
当我手动重命名我的应用程序的域文件夹时,我遇到了这个问题。要解决这个问题,我必须这样做
File Menu -> Invalidate Caches / Restart ...
一旦Android工作室重新启动并构建新索引,问题就会消失。
我有这个
我遇到过同样的问题:
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中导入我的
我有一个特殊情况来解决这个问题。
在我的项目中,一切顺利,它可以成功编译和构建,但在我的Android Studio IDE(我也尝试过智能IDEA,它们处于相同的情况),R.java文件无法很好地解决并始终是掉在红线上。
像这样:
这几乎让我发疯,我在编程时无法忍受读取的颜色。
最后我发现这个棘手的问题是由我的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文件中,我给了
错误
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神奇地重新出现了。
导致此错误的原因有很多。
跟踪错误的最佳方法是重建它,而不是干净或同步做一些故意的错误。
如果它没有解决你的问题那么必须有一些缺陷或运行时错误或由于资源的不当使用而发生错误可能是你的代码或设计中的java或xml文件强制gradle停止因为(R )esource文件无法正确索引您的资源,您必须承认。
如果您的项目在进行更改之前运行,则注释掉您所做的更改并尝试重建项目。
它肯定会起作用,因为不会有任何变化。
要跟踪确切的错误,请通过将更改分解为更小的模块来检查更改。
例如 - 如果您使用按钮单击并在适配器中插入列表值来显示列表,请首先检查您是否能够使其可见,然后检查适配器错误。
这种表示法似乎工作正常。
1 | android:id="@+id/viewID" |
Android Studio的设计面板似乎效果不佳。
只需从根包中导入R符号即可
1 | import rootpackage.R; |
没有重建,同步或其他事情......
最近,当我更新项目的大部分库时,这种情况发生在我身上。找不到
我试过了
- 检查是否有损坏/不正确的XML和图像
- 检查无效的资源文件名(例如大写),找不到
- 降级一些库,因为可能是资源冲突,没有解决
-
降低了
compileSdkVersion 和targetSdkVersion ,因为在过去,我遇到了资源问题。然而,在这个项目中,情况并非如此。 - 干净,没有帮助
- 重建项目,没有帮助
- 无效缓存/重启多次,没有帮助
-
调整
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"
然后点击确定,它对我有用。
就我而言,它是通过将Android Studio从3.1更新到3.3来解决的
要更新您的Android Studio:文件 - >设置 - >系统设置 - >更新,然后单击立即检查。
这对我来说是个头疼的问题。在我的情况下,在Android Studio(安装+ build.gradle配置)中配置"Google Play服务"后出现错误。这反过来要求minsdk> 7,但错误是非常不清楚的(实际上对此的抱怨只显示为"信息")。无论如何..在清单文件和build.gradle文件中将minsdk更改为8并重建项目时,错误消失了。
所以..关于这一点的一般建议,如果我可以概括 - 你的清单文件或其他配置文件可能有一些问题,这阻止了正确的构建。尝试非常努力地查看错误报告,甚至是标题为"info"的消息,以获取有关它可能是什么的任何提示......
每次对我有用的一件事是:
转到项目的 - >
同步完成后,它将解决大多数情况下的问题。
清理,重建和"缓存删除"对我没有帮助,更新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版本似乎有一些错误。
这显然不是一个持久的解决方案,因为我需要迟早升级,但截至2018年11月3日
伙计们,我觉得这里黑暗中有很多镜头。在某些情况下,只有在解决问题后,清洁和同步项目才有用。
步骤1:
因此,请查看指定包的每个文件的顶部,如下所示
您将在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文件中的内容时,错误已开始发生。
删除
我有这个问题,特别是当我不小心损坏布局或菜单资源文件时。当我忘记添加"
使用损坏的菜单资源文件,如果我尝试使用它构建项目,则会出现此错误。因为R是资源的容器类,所以当它无法解析资源,.xml文件时,似乎gradle无法绑定R.
解决方案只是修复资源文件,清理项目并重新构建。
我在androidmanifest中有
确保项目中有AndroidManifest.xml。
我碰巧导入了一个没有清单的项目,因此Android Studio无法将其识别为Android项目。然后我在GIT中拉出了项目并下载了清单但仍然没有工作。
然后我重新启动Android Studio,它说"Framework detected android"之类的东西。
因此,请确保将项目配置为Android项目。
在使用Android Studio 0.2.13的OS X上,我在我的一个活动中对com。
编辑:您需要在此之前构建当前的构建变体。
在我的例子中,导入应用程序域名后跟".R"解决了这个问题。例:
1 | import com.example.myapp.R; |
上述答案都没有帮助我。我终于意识到问题是Android Studio中缺少"build"文件夹。我在项目"iml"文件中找到了许多行,不包括"build / *"。删除后,出现构建文件,错误消失。
首先检查是否有任何xml布局中的错误,如果然后再解决它。
否则从项目中删除junit依赖项并重建项目。
在我的情况下,在使用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的默认限制),这会导致文件生成但未解析。解决它只是增加限制:
(3000或任何大于R文件大小的值)
我按照上面的一切,它没有奏效。在我的情况下,当我将每个Java函数都设置为红色以进行Android-L预览时,我必须设置JDK ...
在Mac上:
然后一切都恢复正常。
这是由于最近删除的xmls造成的
在Android Studio中通过选择以下内容从这些xml中清除项目:
构建 - >清理项目
上述答案都没有解决我的问题。所以我添加了我的解决方案以防有人遇到类似的问题。在我的build.gradle依赖项中,
1 | compile 'com.android.support:appcompat-v7:22+' |
我的compilesdk版本是
我还将依赖关系更新为
1 | compile 'com.android.support:appcompat-v7:23.1.1' |
在工具 - > Android - > SDK管理器 - > SDK工具选项卡 - > Android支持库 - >版本中匹配我的支持库。
现在一切都很好。快乐编码:)
我将我的XML文件放在LAYOUT文件夹而不是MENU文件夹中。
这是从Eclipse迁移到Android Studio的结果。
对我来说解决方案很简单...将我的XML文件移动到MENU文件夹并重新编译。
我做了
但在此之前,请尝试检查清单中的包名称,重建并清理项目。如果问题没有解决,那就要制作你的项目了
显然在我的情况下,通过在末尾添加"*"来解决问题
1 | import android.R.*; |
修复"无法解析符号r"错误。
试试这些解决方案
建立 - >清洁项目。
构建 - >构建项目。
例如:"classpath'com.android.tools.build:grad:X.X.X'"。
我希望这些解决方案可以帮到你。
谢谢阅读。
在我的情况下,我需要修复布局XML文件中的一些错误。没有图标表明文件包含错误。但是,当我点击它们时,我注意到一些红线。固定后,发现
考虑以下IDE功能:
- 使用gradle文件同步Project
- 建立 - >清洁项目
- 构建 - >重建项目
- 文件 - >使缓存无效
我的简单解决方案是:
- "@串/.."
- "@样式/.."
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 | classpath group: 'com.android.tools.build', name: 'gradle', version: '2.2.1' |
它迫使我改变所有引用
1 | import [applicationId].R; |
至
1 | import [package].R; |
在我的库项目中,
就我而言,我试图
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没有检查
修复拼写错误修复它,关注构建日志上的Android问题部分。
还有一件事要尝试......
我已经在这里尝试了很多其他的建议,比如
- 清理项目,
- 重启Android Studio,
- 修复我的xml中的错误,
- 将项目与Gradle文件同步,和
- 更新构建工具版本,
但这些都没有奏效。
我最后只是手动删除整个构建文件夹(在备份我的项目后),然后重新启动Android Studio。之后,我在app build.gradle文件中进行了一次小编辑(添加并删除了一个空格),然后单击了sync。 (我可能刚刚从菜单中完成了Tools> Android> Sync Project with Gradle Files。)之后就可以了。在build文件夹中有一些东西被破坏了,重新开始修复它。
我不知道是否有人在解决方案列表中读到这么远,但无论如何我都会添加这个答案。
我目前遇到过类似的问题。问题是在我的项目中我有更多的模块。例如。
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(); } } |
当
如果.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",找到原因是非常棘手的,因为没有突出显示。
解决方案是调用
还在Google发布了一个错误:https://issuetracker.google.com/u/0/issues/77537714
在我的情况下,原因是在res文件夹中有一些图像,名称包含大写字母..
只需用小写字母重命名并重建
您可以
大多数情况下,这个问题是由xml文件引起的,看看xml文件,查找任何错误。
然后重建项目
project9Zip文件)然后删除项目。然后提取出来
压缩项目并只导入提取的项目,它将工作
完美,因为它适合我。
在项目gradle(即)build.gradle中,只需将com.android.tools.build:gradle更新为
依赖{
classpath'com.android.tools.build:grad:3.2.1'
}
只需在xml文件中定义app命名空间即可。这是一条完全无害的线,只选择了一个符号(多个符号)才能解决。只需删除整个行,在下面的图片中显示灰色,使我的代码能够引用未解析的符号。即使我添加了线路,它决定构建没有问题。去搞清楚。
See the below Image Goto File -> Project Setting -> Set All Setting like image and Sync it will put all latest setting in you project.
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"等。
我正面临一个错误'
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。我把它放在编辑器里面(稍后通过代码更改它):
对我而言,重要的是要说开始的Android Studio会给学习带来麻烦,但是像这里解决方案Clean Project可以解决这个问题,总是检查打包名称并且不要试图弄乱逻辑,我喜欢这个软件但有时我试着想想方式是否正确,我也喜欢Linux,但对我来说Android Studio要重写所有软件,也许这不会发生。无论如何祝你好运!!!!
我正在研究
以下是我如何解决问题:
我发现当我创建新的
我删除了
由于两个地方的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. |
重命名文件后,
//有时因同步不完整而产生问题
//所以只需按照步骤操作即可完成您的工作
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。