1115

我刚刚下载并安装了新的 Android SDK。我想创建一个简单的应用程序来测试它。

向导创建了以下代码:

package eu.mauriziopz.gps;

import android.app.Activity;
import android.os.Bundle;

public class ggps extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

Eclipse给了我错误

R无法解决

在线的

setContentView(R.layout.main);

为什么?

PS :我确实有一个名为main.xml.res/layout/

4

108 回答 108

848

在跟踪这个问题之后,我在 Android 文档中找到了这个注释:

http://source.android.com/source/using-eclipse.html

*注意:Eclipse 有时喜欢在使用资源的文件顶部添加“import android.R”语句,尤其是当您要求 Eclipse 排序或以其他方式管理导入时。这将导致您的制造中断。注意这些错误的导入语句并删除它们。*

在浏览 Android 示例教程时,我经常使用Ctrl++Shift命令O来“组织导入”并生成任何缺少的导入语句。有时这会生成不正确的导入语句,这会隐藏R.java构建时自动生成的类。

于 2010-07-15T20:52:39.857 回答
395

每次我遇到 R 没有生成甚至消失的问题时,这是由于 XML 布局文件中的一些问题阻止了应用程序的构建。

于 2010-01-27T08:51:42.327 回答
204

每当你得到

R无法解决

然后检查/res目录,并且必须有一些文件中有一些错误,这会阻止构建应用程序。例如,它可能是一个布局文件,也可能是由于缺少某些资源,但您已经在 XML 文件中定义了它。

如果您在 res/drawables-mdpi 等文件夹中有任何额外的、甚至未使用的 (!) 或未引用的 (!) 图像不符合文件命名约定(可能仅包含 [a-z0-9_.]),则R.java 类可能不会生成,导致所有其他帖子引用的事件链。希望能帮助到你!

于 2010-05-06T07:01:44.363 回答
137

我的项目在开始时包含了一个 r.java.,R.layout.main 运行良好。但是,添加一些代码后它不起作用,错误是 R.layout.main 无法解决。这是什么问题?

看看你的进口。有可能是这条线:

import android.R;

将在那里。如果是这种情况,请将其删除,以便您的项目不会使用默认的 Android 资源类解析 R,而是使用从 /res/ 文件夹中自动生成的类解析 R。

于 2009-07-25T12:12:26.563 回答
97

还有可能导致此问题的另一件事:

我安装了新的 ADT (v. 22)。它停止创建gen包含R.java. 解决方案是还从 Android SDK Manager 安装新的 Android SDK 构建工具。

在这里找到的解决方案

于 2013-05-17T12:28:55.233 回答
89

R.java是 Android Eclipse 插件在构建应用程序时创建的文件。R.java在“gen”目录下创建。该文件是根据“res”目录中的信息生成的。如果您在 Eclipse 菜单上运行选择“Project”->“Clean...”,它将删除然后重新生成R.java文件。

AndroidManifest.xml当您在文件中更改包名称时,会出现“R 无法解决”的问题。R.java它使用您的 Android 包名称在它存储文件的“gen”目录下创建一个子目录。

Eclipse 可能会在执行 clean 时遇到问题,因为R.java当您更改 Android 包名称时,它会混淆文件的位置。您可以重命名下面的子目录gen以匹配您的新包名称,也可以将包名称更改回旧名称。进行清理,然后将包名称更改为您想要的新名称。如果您在更改包名称时阻止 Eclipse 尝试构建,则此方法效果最佳。在“项目”菜单下,取消选中“自动构建”选项,以及当“清理...”对话框询问是否应该“立即开始构建”时,取消选中该框,以便在您更改时不会尝试构建包名。更改名称后,您可以再次打开“自动构建”。

请注意,如果您的AndroidManifest.xml文件包名与您的 Java 包名不匹配,Eclipse 最终会自动添加一个“import <your Android package name>.R;” 在所有.java对 R 的引用的文件中添加一行。如果更改AndroidManifest.xml 包名称,有时 Eclipse 不会更新所有这些添加的导入。如果发生这种情况,请使用 Eclipse 重构 ( ALT++ Shift)R将其中一个 Java 文件中的导入语句更改为新的AndroidManifest.xml包名称。最好在禁用“自动构建”时执行此操作。

于 2010-03-04T18:37:14.220 回答
88

威尔说的是对的

R 是一个自动生成的类,其中包含用于标识您的 >resources 的常量。如果您没有 R.java 文件(在 1.5 SDK 的 >Eclipse 中将是 gen/eu.mauriziopz.gps/R.java),我建议关闭并重新打开您的项目或转到 >Project > Build all (并按照 >Josef 的建议在那里选择“自动构建”)。如果这不起作用,不如尝试创建一个新项目,如果问题被重新创建,那么 >post here 再次,我们将更详细地介绍。

但我发现还有另一个问题导致了第一个问题。SDK 目录下的工具没有执行权限,所以就好像 Eclipse 不存在一样,所以没有构建R.java文件。

所以修改权限并选择“自动构建”解决了这个问题。

于 2009-05-20T06:54:33.817 回答
41

R 是一个自动生成的类,其中包含用于标识资源的常量。如果您没有 R.java 文件(在带有 1.5 SDK 的 Eclipse 中将是 gen/eu.mauriziopz.gps/R.java),我建议您关闭并重新打开您的项目或转到 Project > Build all(和按照 Josef 的建议,在此处选择“自动构建”)。如果这不起作用,请尝试创建一个新项目,如果问题再次出现,请再次在此处发布,我们将更详细地介绍。

于 2009-05-20T01:46:29.513 回答
29

关闭所有文件,清理项目,重新启动 Eclipse。

于 2010-11-12T09:39:13.930 回答
25

值得一试AndroidManifest.xml。该属性package具有正确的值。

那是:

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

更改后,R.java将重新生成。

于 2011-09-21T08:29:56.820 回答
21

将活动添加到与包的根命名空间不同的命名空间也可能导致此错误。

例如,如果com.example.myapp是您的包的根命名空间,那么您可以将活动添加到com.example.myapp.activities命名空间。

这将产生“R 无法解析”错误。

要修复导入,活动中默认命名空间中的 R 应该是:

import com.example.myapp.R;
于 2011-08-11T04:38:31.060 回答
21

除了前面答案中的好建议外,请确保设置了您的 Android 目标:

  1. 右键单击您的项目
  2. 选择属性
  3. 在左侧菜单中选择 Android
  4. 勾选相应的项目构建目标旁边的框。
  5. 单击应用和确定

编辑:一年后,我发现了另一个原因。我的可绘制文件夹中有一个与 .png 图像同名的 .jpg 图像。在我的代码中引用此图像一定会混淆程序,并给出“R 无法解析”错误。

于 2013-02-15T09:32:11.200 回答
18

确保您安装了 Android 构建工具表单 sdk manager

项目右键单击属性-> Java BuildPath 选择库并按照以下步骤添加 android-support.jar。

转到 Project->Properties->Java Build Path,然后选择 Order and export 选项卡。选中 android-support .jar 库并将其置于列表顶部。并清理和重建..它适用于大多数情况

在此处输入图像描述

于 2013-08-29T07:09:04.770 回答
17

我刚刚第 100 万次遇到这个问题并意识到是什么原因造成的:我创建了一个名称中包含大写字母的 XML 文件。中的所有 XML 文件名/res必须匹配[a-z0-9\\._]

于 2010-07-01T02:50:17.503 回答
16

最简单的解决方案 - 有时您只需要保存正在处理的 XML 文件即可启动自动生成器。

保存文件(例如 main.xml)然后删除 R.java 文件并查看重新生成的 R.java 是否解决了 R 解析问题。

于 2010-06-01T01:47:25.213 回答
14

检查 XML 文件名。确保它们都是小写的。

还要确保任何图像资源名称也都是小写。我的 jpg 文件名中有一个大写字母,它在我的项目中导致了 R 未解决的错误。

于 2010-04-14T17:44:02.920 回答
13

R是一个生成的类。如果您使用的是Android 开发工具 (ADT),它会在项目构建时生成。您可能已关闭“自动构建”。

于 2009-05-19T21:07:39.687 回答
11

这个错误出现在我的 x64 Linux Mint 安装中。原来,结果是ADB二进制文件失败,因为ia32-libs没有安装包。只需运行apt-get install ia32-libs并重新启动 Eclipse 即可修复该错误。

如果您的 x64 发行版没有 ia32-libs,则必须使用 Multiarch。

检查这篇文章中的#4 和#5: http ://crunchbang.org/forums/viewtopic.php?pid=277883#p277883

希望这可以帮助某人。

于 2011-08-21T06:09:37.303 回答
10

您可能需要更新/安装 SDK 工具。再次重新启动Android SDK Manager并安装一个新项目:Android SDK Build-tools。一个一个删除,修复哪个适合你。在此处输入图像描述

于 2016-04-02T01:36:28.507 回答
9

我也有这个问题。原来我无意中从strings.xml文件中删除了“app_name”字符串资源,这导致了静默错误。一旦我将其添加回来,R 类就成功生成,一切都已备份并运行。

于 2009-11-10T02:50:29.183 回答
9

您可能需要更新 SDK 工具。再次重新启动 Android SDK Manager 并安装一个新项目:Android SDK Build-tools。

在此处输入图像描述

于 2013-11-06T04:19:43.410 回答
7

另一个R.java可能无法自动生成的原因是,如果您有res/drawable-hdpires/drawable-mdpires/drawable-ldpi 之类的目录

1.6+ 似乎对这些目​​录没问题,但 1.5 不想要它们。当我删除这些目录时,R.java再次开始为我自动生成。

于 2010-04-15T19:14:36.693 回答
7

尝试使您的新 XML 布局文件名小写。例如,使用my_file.xml代替myFile.xml.

于 2010-04-21T01:01:55.313 回答
6

这通常是因为您在创建项目时提供的 MinSDK 版本号。例子:

如果你希望 2.1 是最低的,Android 2.1 实际上是 API Level 7。

当您浏览您下载并安装的 SDK 时,您可以看到我在说什么。导航到您安装 SDK 的位置(C:\android-sdk-windows例如)并打开名为“platforms”的文件夹。你会看到像“android-7”这样的东西被列为一个文件夹,如果你打开有一个source.properties文件,当用文本编辑器打开时,会显示相应的平台版本。

当您创建项目并且必须选择“构建目标”API 时,该列表中名为“API 级别”的最后一列会显示您在填充 MinSDK 设置时要查找的数字。

这可能是导致R.java文件未在 Project > gen > packagename > R.java 下创建的最常见错误之一。

于 2010-06-27T21:42:46.687 回答
6

删除main.out.xml. 我是新手,还不知道这个文件的用途,但删除它可以解决问题。

于 2010-07-11T21:57:31.420 回答
6

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

在此处输入图像描述

于 2016-03-29T06:28:20.600 回答
6

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

否则从项目中删除 junit 依赖项并重建项目。

在此处输入图像描述

于 2017-03-28T07:59:45.180 回答
5

如果有人感兴趣(我可能会在这里救你的命),我有错误,R.xml无法解决,在 GLS 项目中略有不同。嗯。在查看之后R.java,我发现一个自动生成的类,XML.java(我认为)不存在。

解决方案?它需要在res:中创建一个新文件夹,res\xml并在其中调用一个文件default_values.xml 。然后一切正常。

以防万一您没有该文件,它是:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android">
</PreferenceScreen>
于 2010-01-25T15:56:05.187 回答
4

我将android:versionName文件AndroidManifest.xml从 1.0 更改为 1.1。这重新生成了我的R.java文件,我是一个快乐的露营者。我希望这可能对某人有所帮助。

于 2010-03-25T11:46:50.497 回答
4

所以我在切换构建目标时多次遇到这个问题。通常做一个项目>>清洁对我有用。然而,这最后一次没有。最后,我尝试打开位于根项目文件夹下的 default.properties 文件。我收到一条错误消息,指出它与文件系统不同步。我实际上删除了它并复制了一个允许 Eclipse 重建我的 R 文件的同事版本。我将在下面粘贴它的样子。它被命名为“default.properties”。

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
# 
# This file must be checked in Version Control Systems.
# 
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.

# Indicates whether an apk should be generated for each density.
split.density=false
# Project target.
target=android-3
于 2010-06-14T15:13:09.913 回答
4

我有 Android 8 的示例并尝试使用 Android 7 SDK。当我关闭项目并重新打开应用程序文件夹并选择使用 Android 8 SDK 时,它能够找到 R 文件。希望这可以帮助。

于 2010-11-21T16:48:40.810 回答
4

将构建目标从 1.5 或 1.6 更改为 2.2(API 版本 8),并检查您是否%string.xml. 如果是,请替换为%%.

于 2011-09-08T20:40:17.477 回答
4

就我而言,我的AndroidManifest.xml. 其他人说您的 XML 文件必须没有错误,但我只查看 res/ 文件夹。查找并修复尽可能多的可能错误,问题可能会自行解决。

于 2011-12-21T17:09:28.480 回答
4

不幸的是,现有的问题都没有帮助。由于我的问题似乎是特定于平台的,因此这可能仅适用于Ubuntu 64 位(我目前使用的是 Ubuntu 12)。起初我没有看到“问题”窗口,它已经暗示了一个解决方案,在 64 位环境中您需要 32 位库,这可能会丢失:

sudo apt-get install ia32-libs

我安装了软件包并重建了我的项目,这为我解决了这个问题。

于 2013-02-23T10:37:15.173 回答
4

重启你的电脑。
除了这种方式,没有什么能帮助我

于 2013-05-26T07:00:54.087 回答
4

每次我遇到这个错误并且总是登陆SO。归根结底,原因是一样的。

所以请记住这个小便条

我发现大部分时间的原因是 - XML 布局中的错误

如果您的 XML 不正确,则构建后不会生成 R 文件。

于 2014-02-20T11:53:02.117 回答
4

就我而言,R.java 没有生成,因为 AndroidManifest.xml 文件中存在问题,我错误地指定了活动的名称!

于 2014-04-20T23:28:18.493 回答
4

安装所有 Android SDK 构建工具并在您的 Activity 类中删除 import android.R。单击项目后 -> 清理

import android.R;

在此处输入图像描述

于 2015-06-26T20:56:47.693 回答
3

我的问题是我在strings.xml 的字符串中 遗漏了=<string name"dialog_grl...标记,例如 ,即使我的.xml 文件的图形布局无法显示字符串,我也没有看到它。项目清理后,所有文件都搞砸了。

于 2012-03-19T19:32:45.473 回答
3

检查上面的类文件imports并确保没有导入android.R,如果已将其删除,然后按Ctrl++Shifto选择packagename.R导入而不是另一个。

于 2013-05-03T10:52:35.180 回答
3

只需清理并重建您的项目,它有时会有所帮助

确保 android 中的 res/drawable 文件夹中没有错误。在此文件夹中命名图像时不要给出数字和大写字母。

于 2013-08-06T12:45:49.477 回答
3

R有几个原因无法解决

  1. 大多数情况下,此错误是由于 XML 文件错误而发生的。这个错误可以通过清理并重建你的项目来解决,你也可以重新启动你的 android studio。

  2. 有时,如果您编写了一些错误的代码AndroidManifest,则可能会发生此错误,因此请检查。

  3. 如果您的资源包含相同的名称或包含无效字符,则可能会发生此错误。

如果您已经检查过这些但您面临同样的问题,那么请继续:


当 Android Studio 无法正确生成 R.java 文件时,可能会发生此错误,因此您必须按照以下步骤操作:

第 1 步:build从 app 目录中安全删除该文件夹。
第 2 步:在 Android Studio 中,File -> Invalidate Caches / Restart
第 3 步: Build -> Clean Project然后Build -> Rebuild Project.

所以build文件夹将被重新生成,希望错误消失。


如果仍然发现错误,那么您之前可能已经对包名称进行了重构。这种情况下你可以按ALT + ENTER在一起导入R。

于 2018-05-25T18:34:22.417 回答
2

如果您使用的是 Mac,请检查是否.DS_Store已将 a 添加到/res(ls -al在终端命令行上) 的目录中。删除它并刷新/重建。

于 2010-10-23T11:25:55.570 回答
2

最近,我遇到了与 R 类似的情况,无法解决。

  1. 项目 -> 清洁(它通常有效,但这次没有)。
  2. 我试图删除该gen/文件夹(它会自动构建) - 不。
  3. 虚拟修改文件。又不行了。到现在我已经变灰了!
  4. 如果存在,我检查了AndroidManifest.xml文件appName。它被-检查了!
  5. 再次查看我的 res/ 文件夹...

这就是它变得奇怪的地方......它给出了一个错误,在某些但不是所有情况下......

我添加了 formatted="false" 标志:

<resources>
    <string name="blablah" formatted="false">
    </string>
</resources>

答对了!

于 2011-03-01T20:25:04.453 回答
2

哇。我通过跟踪所有 XML 文件和相关资源中的所有可能错误解决了我的 R 问题。我知道这是几层,但你必须:

  • 确保任何引用的资源图像确实存在
  • 每个人都已经提到了很多,这只是回声......R.*如果需要,删除所有 Eclipse 注入的导入。
  • 我喜欢在执行上述操作时重新启动 Eclipse。
  • 确保所有 XML 文件结构正确。就像,做你的事。哈哈哈
  • 尽可能多地遍历。养成经常点击Ctrl++的习惯,Shift以便S快速改变编译器结果。

哈哈哈。当然很高兴得到R 无法解决虽然修复......

于 2011-03-23T07:15:05.543 回答
2

对我来说,我删除了“import android.R;” 它解决了我所有的问题。什么样的恶梦!!!

于 2012-06-14T13:09:22.123 回答
2

如果清理项目不起作用并且xml文件没有问题(如果是新项目)。然后转到Androidmanifest.xml,编辑它并在行之间添加一些空格,保存它。现在清理项目,错误将消失。

发生这种情况是因为 R.java 文件过时。当我们编辑 android manifest 文件时,R.java 又被创建了。

于 2013-01-18T07:40:57.993 回答
2

要解决此问题,请转到 java Build path->order and Export 并选中所有复选框并选择 ok 然后清理并构建项目并导入您的包名称 R 文件(Ex com.demo.R)。有用。

于 2013-02-15T11:19:22.680 回答
2

我用 Window->Preferences->Android and SDK Location: path to adt\sdk eg C:\adt\sdk 为自己解决了这个问题

于 2013-07-21T13:52:42.887 回答
2

我认为问题出在 layout.xml 文件或 import 语句中。

确保您没有导入 R.android。, 而不是导入 R.YOUR PACKAGE NAME。.

它会正常工作。

于 2013-07-29T07:13:25.043 回答
2

对我来说,这是由于使用了“私有”android drawables:

[2015-11-26 18:59:48 - MyAndroidApp] 
/Users/myname/git/MyAndroidApp/res/menu/drawer_view.xml:24: 
error: Error: Resource is not public. (at 'icon' with value 
'@android:drawable/ic_menu_home').

有趣的是,直到我使用图标删除了对文件的引用(啊!),这个错误才出现在控制台中。

android:entries="@menu/drawer_view"

现在解决方案很明显,将图标复制到我的项目中(res/drawable-XXXX/)并切换到本地引用。

@drawable/ic_menu_home

希望这可以帮助。

于 2015-11-27T01:09:42.787 回答
2

1)首先关闭所有文件。
2) 转到构建 -> 清理项目。
3) 转到构建 -> 重建项目。

这对我有用。

于 2020-03-18T13:14:01.080 回答
1

真正的问题是如何防止导入 android.R; 从返回:

窗口 -> 首选项 -> Java -> 编辑器 -> 保存操作

取消选中“组织导入”。

这样就可以了。

于 2011-12-08T07:20:05.137 回答
1

我的解决方案(在 Eclipse Juno 上)是通过以下方式单击“修复项目属性”:

  1. 在项目上单击鼠标右键
  2. 选择 Android 工具菜单
  3. 单击修复项目属性

附言。首先检查 R 库是否未实现以及 res/ 文件夹中的所有文件是否正常。

于 2012-10-04T12:23:53.380 回答
1

这可能发生的另一个原因:今晚,我遇到了可怕的错误,最终发现错误的鼠标拖动显然将我自己的包的一个类移动到另一个包的层次结构中。您可以在 Eclipse 环境中搞砸自己的方法有很多。

于 2012-10-06T04:44:37.247 回答
1

从这里提供的许多答案中,帮助我的是在 java 构建路径的“Order and Export”中更改顺序。

1.单击您的项目-> 项目属性

2.Java构建路径

3.订购和出口

将 Build 类路径的顺序更改为

1.(你的包名)/src

2.Android(版本号)

3.Android依赖

4.(你的包名)/gen

于 2012-11-01T14:26:29.200 回答
1

只需清理并重建您的项目,它有时会有所帮助

于 2013-01-04T07:35:16.600 回答
1

有时,当您手动创建 R.java 文件只是简单的空 R.java 时,它会有所帮助。

于 2013-05-25T18:15:50.263 回答
1

在我的情况下,这个错误是因为我将图像导入到文件夹 /res,并且图像的名称无效。不敢相信我花了将近一个小时来解决这个问题,直到我意识到图像的名称无效:/

于 2013-10-09T18:53:21.877 回答
1

我有同样的问题,但找不到导致错误的 xml 文件。

感谢这篇文章,我安装了构建工具 18.1.1 而不是 19,它向我展示了有缺陷的文件。版本 19 似乎没有显示实际错误。

希望它可以帮助某人:-)

于 2013-11-19T16:12:52.163 回答
1

我多次遇到这个问题,我发现有时会出现“R 无法解决”,因为:

  1. 存在一些错误的命名资源,例如:具有名称的图像My imge.png
  2. 或资源中的某些错误,例如 xml 文件中的错误或在您的表单中定义资源时出错,这些错误将不存在。

在这种情况下,您甚至无法将自己的包 R 导入到您的项目中。所以转到您的资源文件夹并搜索上述两个点。

这会起作用

于 2014-02-25T09:29:53.863 回答
1

同样的事情发生在我身上,我花了一天时间来解决这个问题。真的这是一个愚蠢的错误。我只是剪一下我的经验,可能对你有帮助。首先仔细看,当你输入这个setContentView(R.layout.activity_to_do_list);听到你的起点R.l然后eclipse应该为你打开一个看起来像这样的建议在此处输入图像描述

你不导入第二个layout-android.R。第二个是在你的项目中创建的,听到com.example.gridtest的是项目包名。然后将您导入的部分集中在您的代码中在此处输入图像描述

好吧,看看这import com.example.gridtest.R;重要。如果您已经导入它android.R,则将其删除。谢谢希望它有效。(你不需要总是这样做,但如果你遇到这种问题,那就这样做,希望它会有所帮助)

于 2014-03-03T07:56:13.750 回答
1

一些答案建议重新启动计算机。我发现重启adb服务器就足够了——如果您刚刚更新了 Android SDK,尤其如此。

adb通过 linux shell重启:

$ cd $ANDROID_SDK/platform-tools
$ ./adb kill-server
$ ./adb start-server

您可能需要重新启动 Eclipse,以便它可以重新连接到重新启动的adb服务器。如果 Eclipse 不自动编译项目,您可能需要进行清理/构建。

于 2014-03-18T16:44:47.090 回答
1
  1. 关闭所有文件,清理项目,重新启动 Eclipse。

或者

  1. R 是一个自动生成的类,其中包含用于标识资源的常量。如果您没有 R.java 文件(在带有 1.5 SDK 的 Eclipse 中将是 gen/eu.mauriziopz.gps/R.java),我建议您关闭并重新打开您的项目或转到 Project > Build all(和按照 Josef 的建议,在此处选择“自动构建”)。如果这不起作用,不如尝试创建一个新项目
于 2014-07-17T10:28:29.493 回答
1

我通过将资源文件直接放在Android指定的目录中解决了我的问题。我错误地认为 R.raw 可以包含我的资源的整个文件目录。所有文件都必须将 R.raw 作为其直接父目录。

于 2014-07-28T23:05:11.573 回答
1

确保所有资源文件都没有大写扩展名。我发现我保存了一些带有大写扩展名的图像.PNG。我将其更改为.png,一切恢复正常。

于 2014-08-08T04:28:12.310 回答
1

它对我有用,右键单击>Android 工具>修复项目属性,并在重新启动 Eclipse 后一段时间。

于 2014-09-09T05:02:51.507 回答
1

更好、更有希望的解决方案

  1. 关闭 Eclipse 并打开您的 Workspace 目录。
  2. 查找名为“.metadata”的文件夹并删除该文件夹。
  3. 打开 Eclipse。

错误应该消失:)

于 2015-06-11T06:10:18.920 回答
1

当您刚刚打开您的项目时,android studio 需要一段时间才能加载内容。它经常发生在我身上。我只是在加载完成后坐下来观看 5 分钟的 youtube 视频。

到那时,无法解析符号 R消失了!:-)

如果您已经检查并重新检查了上述所有内容,确保项目已完成构建,我建议您耐心等待......如果没有清理并重建项目。

于 2017-09-14T13:26:15.840 回答
1

只需重新启动您的项目

文件>>使缓存无效/重新启动

笔记:

  1. Android自动创建.R文件不需要导入
  2. 导入由 android Studio 自动创建的 android.R.* << R.java 文件
  3. Android Studio 有很多缓存,这就是为什么它有时会发生
于 2020-03-02T09:56:18.060 回答
0

我有同样的问题。在我的情况下,与布局 XML 文件名有关。我有一些带有大写字母的文件名:

screenQS.xml - 没用!

screenqs.xml - 工作!

于 2010-09-20T06:38:37.087 回答
0

发生这种情况的另一种方式是,如果您从其中一个示例开始一个新项目。当您稍后决定将包名称从 com.example.android.foo 更改为您自己的域时,您将需要修改清单和单个 .java 文件中的几个值。

如果您在 Eclipse 中,请找到 .java 文件的包语句并选择 QuickFix。那里可能有多种选择,但您想要的选择是指示“移动 'foo.java' 以打包 'com.youdomain.android.yourapp'。保存文件,它可以自动构建或按照其他人的建议执行并尝试“项目->清洁”。

于 2011-02-05T00:18:52.047 回答
0

我的 R 文件消失了并且不会生成 - 控制台报告了这一点:

[2010-09-22 16:19:40 - myproject] res\drawable-ldpi\downloadNow.png:文件名无效:必须仅包含 [a-z0-9_。]

所以原来资源名称不能有大写字母——确认它们都是小写字母并且包含 . 并且只有_

于 2011-09-22T11:22:43.243 回答
0

将一些图形放入可绘制文件夹后,我遇到了同样的问题。出现了一些错误,当我尝试清理时,R.java文件不存在。

于是我仔细检查,发现有些文件的文件名是大写的,有些文件的文件名相同,但文件扩展名不同。我重命名了这些文件,并且每个文件都有一个唯一的小写名称。请记住,Android 关心的是文件名,而不是扩展名。

也许这可以帮助你或其他读者。

于 2011-12-06T21:44:43.983 回答
0

在可能导致此问题的许多可能问题中,这就是为我解决的问题。

右键单击项目-> 属性-> Java 构建路径-> 源。

然后添加gensrc文件夹。出于某种原因,Android 希望我只有整个文件夹。

于 2012-03-04T22:12:41.867 回答
0

我已经尝试了以上所有方法,但没有成功。事实证明,PhoneGap导致了与 Android SDK 的冲突。卸载PhoneGap 后,Resources 文件又开始重新生成。另一个项目需要PhoneGap,所以我重新安装了,Android项目(另一个项目)再次停止自动生成R文件-检查了自动生成,进行了清理,然后重新启动了Eclipse-没有骰子。我删除了 PhoneGap,它又可以工作了。这是带有 Eclipse 的 MDS 1.1 插件的 PhoneGap v 1.5。

于 2012-03-13T20:25:12.190 回答
0

确保您正在查找R.drawable.*该文件是否存在于您的drawable*文件夹中。

于 2012-06-21T16:39:43.900 回答
0

解决方案:

Eclipse 重新启动后清理项目。它们是自动生成的,否则您在Ctrl++之后是 XML 内部的任何组件(如按钮ShiftO。它自动生成了 R 文件,然后错误就解决了。

于 2012-06-25T07:48:01.507 回答
0

不应该尝试导入android.R. 尝试修复 XML 文件中出现的所有错误,包括清单文件。当所有错误被清除后,R.java将再次出现。

于 2012-07-29T13:59:57.027 回答
0

就我而言,我试图将我的项目转换为 Maven。过了一会儿(和成千上万的随机错误说什么都没有),我试图撤消所有操作。我没有注意到 .project 文件已更改,并且在 Eclipse 中不可见。

只有将 .project 文件恢复为之前的 maven 版本才能帮助我修复此错误。

于 2012-09-05T14:12:20.087 回答
0

对我来说,这是因为错误的 java 编译器版本。项目属性 -> Java 编译器,启用“启用项目特定设置”并选择您的“编译器合规性级别”

于 2012-10-28T15:24:30.943 回答
0

我遇到了同样的问题,我用谷歌搜索并尝试了我发现的建议,但没有一个对我有用。我更改了我的工作区并且它有效,但在更改您的工作区之前,请尝试您拥有的其他解决方法。其中任何一个都可能对您有用。

于 2013-01-31T10:47:33.930 回答
0

这对我有用。

在 Eclipse 向导创建的全新项目中,我没有“import android.R”。默认的 xml 布局文件也是小写的。

问题是 Eclipse 没有生成 R.java。没有多少清洁/重新启动有任何效果。

我评论了 setContentView 和 getMenuInflator 调用,并且 make 成功,之后 Eclipse 生成了 R.java。

生成 R.java 后,我可以取消注释 setContentView 和 getMenuInflator。

于 2013-03-17T17:35:16.030 回答
0

我尝试了上面的大多数方法,但不适用于我的情况

最后我发现亚行丢失了

对于 mac os,转到 android sdk 目录

输入 ./adb 启动服务器

于 2013-05-18T03:36:34.863 回答
0

检查您已导入应用程序的库项目是否全部打开。

并且由于某种原因,如果您没有向活动添加任何内容,例如onCreate(),它将无法理解是什么R

于 2013-05-23T05:59:01.637 回答
0

我今天也遇到了同样的问题。我尝试使用 SDK manager 执行所有 sdk 更新。完成并重新启动IDE后问题已解决。

于 2013-06-04T13:44:01.313 回答
0

R 有两种方式会出错

1) 布局文件有问题,即 xml 文件

2)如果您更新 adt 则将发生 R 问题。- 您必须检查项目的属性 - goto->Properties ->Java Build Path -> Order and Export 并检查所有 lib 。

它将解决问题。

于 2013-06-12T13:50:35.887 回答
0

首先看看你的 gen 文件是否包含你的包名和 R.java 或没有。如果它是空的,也许你没有创建新文件的权限,所以退出eclipse而不是右键单击,以管理员身份运行并清理你的项目,一切都会正确。

否则,您的 XML 文件中可能会有错误,或者检查其他答案。

于 2013-07-01T09:26:47.070 回答
0

我尝试了该线程(以及许多其他线程)上的大多数选项,但对我没有任何帮助。终于这个成功了,所以我想与大家分享...

我的机器上有多个版本的 Eclipse IDE(因为我也从事与 Android 无关的项目)。意外地,我使用另一个(非 Android)版本的 Eclipse 使用的工作区创建了我的 Android 项目。因此,我猜想发生了一些奇怪的事情,我的 R.java 从未生成!

为了解决这个问题,我所做的只是创建了一个新的工作区,然后神奇地开始生成 R.java,一切都很顺利......

因此,当您尝试所有其他选项时,也请尝试一下。并希望它对你有用......

于 2013-07-03T06:23:28.033 回答
0

这行得通。

第1步:

下载https://www.dropbox.com/s/7nwlrg05ke05tat/GalleryImageview.zip

第2步:

加载 eclipse 并加载项目 > 运行和测试将即时运行

第 3 步:

如果有任何问题,请在此处更新。

享受。快乐编码。

于 2013-07-25T11:58:08.933 回答
0

我按照建议安装了平台构建工具。然后消息

<package>/gen already exists but is not a source folder. Convert to a source folder or rename it.

出现在控制台中。所以我按照建议将“gen”设置为源文件夹。这解决了这个问题。

于 2013-11-10T12:27:01.777 回答
0

我会说“R 无法解决”过于笼统,有时可能会产生误导。即使我第一次创建一个新项目时,我也多次遇到同样的问题(这意味着我还没有弄乱代码)。大多数时候我只需要更新我的 sdk 管理器(正如一些人提到的)。但在我最近的案例中,我发现我的项目文件的路径太长(像这样E:\R&D\ANDROID\ANDROID BASIC\Folder 1\ Folder 2\..... \Folder n\MyProject)。文件夹名称还包含空格字符。我认为可能是这种情况,而且确实是这样,当我在另一个文件夹中创建一个具有最短路径的新项目时,并且没有一个文件夹的名称包含空格字符,它可以正常工作。

于 2013-11-30T14:53:26.727 回答
0

对我有用的是安装“Android SDK Build-tools”。打开 Android SDK 管理器并安装 Android SDK 构建工具。它还有助于在 Eclipse 中更新 Andriod 开发平台:帮助 > 检查更新

于 2013-12-08T19:31:03.357 回答
0

右键单击您的项目,然后单击Refresh或点击F5

于 2014-01-11T02:48:58.120 回答
0

使用您的包名称导入 R 类。不要导入 android R 类。

于 2014-01-31T11:29:23.217 回答
0

R.java 可能无法自动生成的原因是如果您有类似的目录

res/drawable-hdpi, 
res/drawable-mdpi, 
res/drawable-ldpi.

image name should be in a proper way

检查图像名称并检查和 layout/any.xml 和 string.xml

于 2014-03-01T13:34:39.243 回答
0

这是一个非常古老的线程,我今天有一个新发现。我创建了一个活动,我把它放在另一个包中(错误地)。在新创建的类中,eclipse 无法解析R.

我尝试了很多地方提到的所有方法,但我没有注意到我把它放在不同的包里。挣扎了几分钟后,我注意到我把它放在了错误的包装中。

如果您没有保留Activity在活动包中,您将收到此错误。

于 2014-03-28T04:04:10.743 回答
0

如果您使用 eclipse:有时 eclipse 会隐藏资源文件中的错误消息。解决方案:在布局文件夹中保存一个没有错误的临时资源。新建项目。然后eclipse在资源文件中显示正确的错误。删除临时资源。

于 2014-04-21T09:41:46.553 回答
0

此外,如果您的 res 文件夹中有额外的文件,例如“desktop.ini”,这些文件由操作系统添加但完全没有必要,请尝试删除它们。这显然是在我的一个导入项目中阻止生成 R.java 的原因之一。

于 2014-05-30T18:48:36.900 回答
0

每次我遇到 R 没有生成甚至消失的问题时,这是由于 XML 布局文件中的一些问题阻止了应用程序的构建。

R 是一个生成的类。如果您使用的是 Android 开发工具 (ADT),它会在项目构建时生成。您可能已关闭“自动构建”。

于 2015-02-04T07:05:30.233 回答
0

R 是 android 项目中自动生成的资源,有时它发生不完全知道为什么,但你有没有尝试从项目中自动构建选项

=>删除其他项目或android.r的R文件的其他导入=>永远记住,如果您总是遇到自动生成ID或自动删除R文件的问题,您可以生成像字符串文件一样的静态ID并将其与@id而不是@一起使用+id

于 2015-03-05T13:26:46.907 回答
0

天哪,我是Linux ( ubuntu ) 这就是我解决它的方法:

首先问题是权限问题我没有看到任何权限错误,但这就是问题所在。这些工具没有可执行权限。

所以只是一个快速修复(如果您知道需要可执行权限的确切文件,请专门对它们应用 ff 命令。)

更改为您放置 sdk 的目录,然后:

sudo chmod +x -R .

之后转到project->clean->select your project->clean

这对我有用!

于 2015-04-28T17:22:09.313 回答
0

在运行 x64 Linux 时,您可能会缺少一些 x32 构建库。Ex for Debian 确保您安装了 libc6-i386 和 zlib1g 软件包。

于 2015-08-26T23:39:40.723 回答
-1

这可能是由手动重命名 AndroidManifest.xml 中的包引起的问题

另一种方法是使用内置工具重命名包,这将解决大多数问题,避免 R 未找到问题。

Right Click on the project
Click on Android Tools
Click on Rename Application Project
Enter the new package name

然后会出现一个弹出窗口,要求应用更改,包括 R 解决方法。

来源:在android中重命名包名

于 2014-04-10T20:43:23.837 回答
-1

解决R

  1. 使您的所有XML文件正确

然后在Build菜单中Clean Project

这是最简单的方法

希望它有帮助。

于 2017-07-16T08:24:38.423 回答
-2

我猜你只是复制并粘贴代码,或者没有。无论哪种方式,请检查您的AndroidManifest.xml文件,看看package名称是否正确。

于 2012-08-05T10:01:51.610 回答
-3

检查您的 XML 文件的内容。如果layout_widthlayout_height包含该match_parent元素,则将其更改为fill_parent. 它为我解决了这个问题。

于 2011-11-10T09:12:50.243 回答
-4

Alt+enter并导入

或者

Ctrl+F9

并解决了。

于 2016-07-22T10:01:40.960 回答