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

baut 发布于 2019-03-19 android 最后更新 2019-03-19 20:26 180 浏览

在我参考R.id.something的所有类中的每个实例中,R都显示为红色,并且显示“无法解析符号R”。同样每次都有R.layout.something它以红色加下划线并且表示“无法解析方法setContentView(?)”。该项目总是很好。看到这一直是令人讨厌的。我已经在这里阅读了许多其他类似的问题,但大部分都涉及从eclipse导入项目。我正在使用我认为是android studio的最新版本,并且该项目是使用android studio创建的,没有任何解决R问题的工作。如果有人知道,我想知道是什么原因造成的。 更新: 解决方案:当时android studio是全新的,我也是一个全新的开发者。我不应该使用android studio,我从来没有意识到它是如何未完成的。感谢大家在尝试提供帮助后提供的支持,因为这已经发布。具有讽刺意味的是,这个问题的实际答案已被删除,无法删除。我觉得我的原始答案是解决这个问题的方法。 我原来的回答被删除了:

I think I have figured out the issue. The issue is with Android Studio, every time I added the admob library all these errors started. All my other projects without ads don't have similar issues. I'm now using Intelij and staying away from Android Studio
已邀请:

nfugit

赞同来自:

我有类似的问题,这就是我做的: 清理项目和使用Gradle同步项目,

enter image description here 检查我的sdk中的buildTools版本 enter image description here 从build gradle(模块)将minSdkVersion从8更改为9
defaultConfig {
        applicationId "PackageName"
        minSdkVersion 9
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
但这一切都无济于事。 最后我找到了答案(这在我的案例中有效) 从build.gradle(模块:app)更改
android {
    compileSdkVersion 21
    buildToolsVersion '21.0.1'
......
....
}
要么 选择文件|项目结构将构建工具版本更改为21.1.1 enter image description here

sit_et

赞同来自:

我必须在android studio中导入我的R包。例如:import com.example.<package name>.R

iqui

赞同来自:

执行:构建>清理项目 重要信息:确保在消息窗格(Alt + 0)中清洁项目后没有任何错误。如果您发现任何带有感叹号的红色圆圈,则必须删除代码中的错误。 这些错误大多与@ string /或@ array /有关。再次清理项目并完成!

sest

赞同来自:

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

ieos

赞同来自:

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

  1. AndroidManifest.xml中设置<manifest>的正确package文件夹结构。
  2. AndroidManifest.xml中为<activity>android:name设置新的包裹位置。
  3. 通过
  4. 清除缓存
File Menu -> Invalidate Caches / Restart ...
一旦Android工作室重新启动并构建新索引,问题就会消失。

enemo

赞同来自:

检查drawable文件夹中的文件名并正确检查xml文件

eomnis

赞同来自:

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

uut

赞同来自:

我有一个特殊情况来解决这个问题。 在我的项目中,一切顺利,它可以成功编译和构建,但在我的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”中的默认设置。 改变这一行:

idea.max.intellisense.filesize=2500
至 :
idea.max.intellisense.filesize=5000
然后重启Android工作室,红色被解雇,我可以再次愉快地编程。

hiure

赞同来自:

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

  <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神奇地重新出现了。

fet

赞同来自:

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

mut

赞同来自:

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

ueum

赞同来自:

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

gradlew clean
要么
"Tools" -> "Android" -> "Sync Project with Gradle Files"
这些绝对是值得尝试的好东西,但在运行这些命令之前,您可能还需要解决一些其他问题。

qet

赞同来自:

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

ased

赞同来自:

每次对我有用的一件事是: 转到项目的 - > build.gradle(Module:app)文件 - >做一点改动(例如:在某处放一个空格并将其删除) - >然后android studio会要求你同步你的gradle文件 - >在文件的右上角 - >选择“立即同步”。 同步完成后,它将解决大多数情况下的问题。

gvel

赞同来自:

在我的情况下,在使用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符号问题

gest

赞同来自:

伙计们,我觉得这里黑暗中有很多镜头。在某些情况下,只有在您修复问题后,清洁和同步项目才有帮助。 步骤1: 因此,请查看指定包的每个文件的顶部,如下所示pakage="YourURL.YourProject";并确保指定了正确的包(您自己的项目)。 您将在java文件和AndroidManifest.xml中找到它,并且java文件引用正确的包是至关重要的,因为该包包含您指向的资源(“R”)。如果它们不匹配,则错误无法解决符号R发生。 第2步: 清洁,同步,等等。完成 那为什么这会随机发生或者我做错了什么? 如果您复制并粘贴代码,则应密切注意“package =”,如上所述。更重要的是,当你粘贴代码时,它会立即通过一种调试器(请原谅我的坏技术术语)来显示“假定的错误”,这会立即考虑到“错误的包”,并且你会得到所有的错误。 因此,即使您在粘贴后立即更正了表示法,调试器也已刷新。这就是为什么“清洁,同步,无论什么”有效的原因

ueum

赞同来自:

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

<attr name="showText" format="boolean" />
在我的声明样式。系统的ui也使用了同样的属性:
<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。

qquasi

赞同来自:

  1. 检查您的xml文件。
  2. 清洁项目。
就是这个。 例如,我在strings.xml中有一个条目:
<string name="A">Some text</string>
activity_main.xml中,我使用了这个字符串条目
<TextView
android:id="@+id/textViewA"
android:text="@string/A"/>
在使用项目时,我删除了它
 <string name="A">Some text</string>
因此activity_main.xml无效。结果:无法解决R. 因此,请检查您的*.xml文件并清理项目。

tet

赞同来自:

兄弟,R.java文件包含xml和java页面之间的链接。只有在某些资源文件出现问题时才会出现“无法解析R”。所以最好和最有效的方法是删除res文件中最后完成的xml或drawable。然后根据android编码规范再次从那里开始。这是唯一的方法。有效而正确的方式。 也可以使用Git来正确跟踪代码。 .. 快乐的编码.. :)

matque

赞同来自:

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

classpath group: 'com.android.tools.build', name: 'gradle', version: '2.2.1'
它迫使我改变了所有引用
import [applicationId].R;
import [package].R;
在我的图书馆项目中,appcontext.getPackageName();停止正常工作。我用它来通过反射获取正确的应用程序资源,但在升级gradle插件后,它开始返回特定于flavor的applicationId,而不是包...你可以阅读有关此here的更多信息。

wodio

赞同来自:

在使用Android Studio 0.2.13的OS X上,我在com上执行了“跳转到声明”。 project> .R导入我的一个活动。当我回到活动文件时,所有警告都消失了。 编辑:您需要在此之前构建当前的构建变体。

wab

赞同来自:

我想我有最终的解决方案。我做了一项研究,发现Android Studio在安装路径或目录中讨厌'White Spaces'。它不接受放置在包含空格的目录中的SDK。例如 C:\ Program Files(x86)\ Android \ sdk 此目录无效,因为它包含空格。 Here,我已经回答了一个问题,一个人无法在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
C:\AndroidStudio\
并安装Android SDK
C:\Sdk\
这两个目录都是有效的,因为没有任何空格。每个不包含空格的路径都是有效的。它还解决了其他问题,如“无法解决:junit:junit:4.12”或“Gradle sync project failed”等。

et_et

赞同来自:

对我有用的是:

  1. 创建了一个新项目。
  2. 发现R正在招手!
  3. 比较所有配置。
  4. 在gradle文件中发现差异:compile'c​​om.android.support:appcompat-v7:23.4.0'
  5. 同步,又恢复了工作!

edolor

赞同来自:

首先检查是否有任何xml布局中的错误,如果然后再解决它。 否则从项目中删除junit依赖项并重建project.enter image description here

dquis

赞同来自:

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

  1. 删除Build文件夹
  2. 通过同步gradle重建项目
我已经尝试了很多其他的建议,比如
  • 清理项目,
  • 重启Android Studio,
  • 修复我的xml中的错误,
  • 将项目与Gradle文件同步,
  • 更新构建工具版本,
但这些都没有奏效。 我最后只是手动删除整个构建文件夹(在备份我的项目后),然后重新启动Android Studio。之后,我在app build.gradle文件中进行了一次小编辑(添加并删除了一个空格),然后单击了同步。 (我可能刚刚从菜单中完成了Tools> Android> Sync Project with Gradle Files。)之后就可以了。在构建文件夹中有些东西已经损坏,并重新开始修复它。 我不知道是否有人在解决方案列表中读到这么远,但无论如何我都会添加这个答案。

modit

赞同来自:

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

qut

赞同来自:

我按照上面的一切,它没有奏效。在我的情况下,我必须设置JDK,当我将每个Java函数都用红色表示Android-L预览... 在Mac上:

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

gvel

赞同来自:

这是一个非常古老的问题,但它仍然发生了很多,这里没有真正全面的答案。 我遇到这个问题的次数比我想承认的要多。这可能是由各种各样的问题引起的,这些问题大部分都与您的项目结构不符合预期的问题有关。这是我所有问题的清单: 从Eclipse导入Android Studio并不总能顺利运行,尤其是对于旧版Android Studio。确保您使用的是正确的目录树。对于适度成熟的应用程序,它应该是这样的:

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项目。您可以通过转到顶部的“生成”菜单并选择“清理项目”来完成此操作。

fdolor

赞同来自:

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

pdolor

赞同来自:

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

uin

赞同来自:

//有时因同步不完整而产生问题 //所以只需按照步骤操作即可完成您的工作

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

tin

赞同来自:

我最近有这个问题,清洁/构建等没有解决它。我猜我在某处遇到了问题,但不确定在哪里找到它(是在清单,资源xml文件等?)。 当出现问题时,您可以通过执行代码分析来了解它是什么。 从顶部的菜单中选择: 分析 - >检查代码,使用“默认”配置文件扫描整个项目。 您的检查结果将包含一个名为“Android”的元素。在这里,您将获得导致资源和清单文件出现问题的任何列表。这些错误将打开生成的生成的xml文件,这些文件将以红色显示任何错误。 我确切的问题是因为我使用了基于flavor的清单文件,并且我在意外的版本中复制了<application>标签内的一些权限。 Inspection 更新:我确实有一个问题,Android Studio仍然在修复后显示错误,即使我现在可以构建并运行完全正常,但错误仍然存​​在。 (我正在运行一个金丝雀构建,所以暂时将其归结为此)

iodit

赞同来自:

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

import android.R.*;

zsed

赞同来自:

我有 android:textAllCaps =“false”  在androidmanifest中,它正在对R文件造成破坏。我删除了它,一切都很好。我认为目标sdk设置得不够高。

eipsum

赞同来自:

我正在研究一个多模块项目。当我将所有ui代码移动到一个新模块时,这发生在我身上。 这是我如何解决问题。 我发现当我创建新的ui模块时,在/ res / values中,它会创建一个新的strings.xml,其中没有任何用处。 我删除了strings.xml文件,重建项目,它的工作原理。

ehic

赞同来自:

在Android Studio的最新版本中,至少对我而言,以下作品: “工具” - >“Android” - >“使用Gradle文件同步项目”

nsunt

赞同来自:

确保项目中有AndroidManifest.xml。 我碰巧导入了一个没有清单的项目,因此Android Studio无法将其识别为Android项目。然后我在GIT中拉出了项目并下载了清单但仍然没有工作。 然后我重新启动Android Studio,它说“Framework detected android”。 因此,请确保将项目配置为Android项目。

equia

赞同来自:

只需转到Android顶级菜单列表即可。单击Build菜单,在Build下单击Rebuild Project。 enter image description here

eet

赞同来自:

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

  • 使用gradle文件同步项目
  • 执行构建 - >清理项目
  • 执行文件 - >使缓存无效
但是这次错误在做完所有这些事情之后仍然存在,最后我找到了罪魁祸首。 问题出在一个xml文件中,我为android:id而不是id资源类型提供了普通的字符串值。 错误
android:id="username"
更正
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中的错误源。 尝试在尝试其他解决方案之前先检查它

aut_ut

赞同来自:

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

compile 'com.android.support:appcompat-v7:22+'
我的compilesdk版本是 compileSdkVersion 21,所以android studio不开心。我只是将compilesdkversion更新为23并进行同步。 我还将依赖关系更新为
compile 'com.android.support:appcompat-v7:23.1.1'
在工具 - > Android - > SDK管理器 - > SDK工具选项卡 - > Android支持库 - >版本中匹配我的支持库。 现在一切都很好。快乐编码:)

dquia

赞同来自:

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


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

dsit

赞同来自:

只需清理项目并使用Gradle File.enter image description here同步项目 问题将得到解决。

verror

赞同来自:

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

sudo apt-get install lib32stdc++6
sudo apt-get install lib32z1
在那之后,我在这个帖子中遵循了一些其他的建议,做了Build - > Clean Project,一切都很好。

yhic

赞同来自:

更改最新的sdk版本,这对我有用 1.单击文件,然后单击项目结构 2.然后选择“app” 然后点击确定,它对我有用。 enter image description here

dodit

赞同来自:

如果在将java文件或目录移动到其他位置后看到此错误,则可以保证Android Studio已经混淆了。你猜怎么着?撤消这些操作并不能解决问题。 所以你试试干净,但这不起作用。 并且重新启动也不起作用。 但是尝试File - > Invalidate Caches / Restart ... - > Invalidate and Restart。 Android Studio维护有关哪些文件依赖于哪些其他文件的信息。由于移动文件无法正确实现,因此移动文件会导致错误。并非全部:这些依赖项的缓存用于尝试加速构建。 这意味着您不仅需要重新启动,还需要使这些缓存无效以恢复(或更准确地说,重建)完整性。

met

赞同来自:

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

qodio

赞同来自:

我有这个问题,特别是当我不小心损坏布局或菜单资源文件时。当我忘记添加“@+id”时,我已经命中的方案无法解析符号R,我将在菜单项中定义id。 使用损坏的菜单资源文件,如果我尝试使用它构建项目,则会出现此错误。因为R是资源的容器类,所以当它无法解析资源,.xml文件时,似乎gradle无法绑定R. 解决方案只是修复资源文件,清理项目并重新构建。

yet

赞同来自:

我将我的XML文件放在LAYOUT文件夹而不是MENU文件夹中。 这是从Eclipse迁移到Android Studio的结果。 对我来说解决方案很简单...将我的XML文件移动到MENU文件夹并重新编译。

zhic

赞同来自:

`I had same problem and it solved by :

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.`
										

beos

赞同来自:

我有这个

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

gipsam

赞同来自:

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

  • 检查SDK更新
  • 然后安卓工作室更新,
  • 然后重新打开项目
  • 打开andoridmanifest.xml
  • 删除android:标签中“_>”之间的空格并保存。
这对我行得通。

hid

赞同来自:

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

nquas

赞同来自:

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

AAPT: libpng error: Not a PNG file
:app:mergeDebugResources FAILED
FAILURE: Build failed with an exception.
重命名文件和Sync Project with Gradle Files之后一切都很好。

sed_et

赞同来自:

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

android:id="@+id/viewID"
Android Studio的设计面板似乎效果不佳。

jenim

赞同来自:

你只需要检查你的Xml文件。 如果出现错误,则无法解决此错误。 只需解决xml中的错误然后尝试。 要么 从构建中清除项目 - >清理

id_cum

赞同来自:

这对我来说是个头疼的问题。在我的情况下,在Android Studio(安装+ build.gradle配置)中配置“Google Play服务”后出现错误。这反过来要求minsdk> 7,但错误是非常不清楚(实际上对此的抱怨只显示为“信息”)。无论如何..在清单文件和build.gradle文件中将minsdk更改为8并重建项目时,错误消失了。 所以..关于这一点的一般建议,如果我可以概括 - 你的清单文件或其他配置文件可能有一些问题,这阻止了正确的构建。尝试非常努力地查看错误报告,甚至是标题为“info”的消息,以获取有关它可能是什么的任何提示......

gvel

赞同来自:

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

  1. 有时会替换保留相同名称的图像文件。
  2. 假设您从布局中删除了一个项目.xml说一个<Button/>但它仍然在任何Activity或Fragment .java中声明。
  3. 更多。
跟踪错误的最佳方法是重建它,而不是干净或同步做一些故意的错误。 如果它没有解决你的问题那么必须有一些缺陷或运行时错误或由于资源的不当使用而发生错误可能是你的代码或设计中的java或xml文件强制gradle停止因为(R )esource文件无法正确索引您的资源,您必须承认。 如果您的项目在进行更改之前运行,则注释掉您所做的更改并尝试重建项目。 它肯定会起作用,因为不会有任何变化。 要跟踪确切的错误,请通过将更改分解为更小的模块来检查更改。 例如 - 如果您使用按钮单击并在适配器中插入列表值来显示列表,请首先检查您是否能够使其可见,然后检查适配器错误。

pquis

赞同来自:

我在可绘制的资源中添加了一些图像,我的一个图像被命名为“super.jpg”,结果证明是一个原因。 重命名图像,在同步后,项目与gradle文件修复了错误。

nipsa

赞同来自:

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

xet

赞同来自:

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

reum

赞同来自:

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

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 ...解决了我的问题。