R无法解析 - Android错误

时间:2009-05-19 21:02:20

标签: android eclipse compiler-errors android-resources android-sdk-tools

我刚下载并安装了新的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/的XML文件。

108 个答案:

答案 0 :(得分:832)

在追踪此问题之后,我在Android文档中找到了这个说明:

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

  

*注意:Eclipse有时会喜欢在其中添加“import android.R”语句   使用资源的文件顶部,   特别是当你问Eclipse时   排序或管理进口。这个   会导致 make 中断。看   出于这些错误的导入   声明并删除它们。*

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

答案 1 :(得分:387)

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

答案 2 :(得分:198)

每当你得到

  

R无法解决

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

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

答案 3 :(得分:132)

  

我的项目包含一个r.java.at开头,R.layout.main工作正常。但是,添加一些代码后它不起作用,并且错误是R.layout.main无法解决。有什么问题?

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

import android.R;

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

答案 4 :(得分:95)

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

我安装了新的ADT(第22节)。它停止创建包含gen的{​​{1}}文件夹。解决方案还是从Android SDK Manager安装新的Android SDK Build Tools。

找到解决方案here

答案 5 :(得分:86)

R.java是Android Eclipse插件创建的文件 建立你的申请。在“gen”下创建R.java 目录。该文件是根据“res”中的信息生成的 目录。如果你运行选择“项目” - > Eclipse上的“干净......” 菜单,它将删除然后重新生成R.java文件。

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

Eclipse可能在执行clean时遇到问题,因为它很困惑 更改Android程序包时R.java文件的位置 名称。您可以重命名gen下的子目录以匹配您的子目录 新的软件包名称,或者您可以将软件包名称更改回旧名称 名称。执行clean操作,然后将包名更改为新名称 你要。如果您阻止Eclipse尝试构建,这将最有效 当您更改包名称时。在“项目”菜单下 取消选中“自动构建”选项,同时取消选中 “清理......”对话框询问是否应该“立即开始构建” 取消选中此框,以便在您更改时不会尝试构建 包裹名字。更改名称后,您可以转为“构建” 自动“重新开启。

请注意,如果您的AndroidManifest.xml文件包名称不匹配 你的Java包名称,Eclipse最终会自动添加一个 “导入<您的Android软件包名称> .R;”所有.java个文件中的行 有任何R的引用。如果你改变你的AndroidManifest.xml 包名称,有时Eclipse不会更新所有这些添加的内容 进口。如果发生这种情况,请使用Eclipse重构( ALT + Shift + R )将您的一个Java文件中的import语句更改为 您的新AndroidManifest.xml包名称。最好这样做 虽然您已禁用“自动构建”。

答案 6 :(得分:83)

说什么是正确的

  

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

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

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

答案 7 :(得分:38)

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

答案 8 :(得分:27)

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

答案 9 :(得分:23)

值得在AndroidManifest.xml查看。属性package具有正确的值。

那是:

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

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

答案 10 :(得分:19)

此错误也可能是通过向与您的程序包的根命名空间不同的命名空间添加活动引起的。

例如,如果com.example.myapp是程序包的根命名空间,则可以向com.example.myapp.activities命名空间添加活动。

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

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

import com.example.myapp.R;

答案 11 :(得分:19)

除了之前答案中的重要建议外,请确保您的Android目标已设置:

  1. 右键单击您的项目
  2. 选择属性
  3. 在左侧菜单中选择Android
  4. 勾选相应项目构建目标旁边的框。
  5. 单击“应用”和“确定”
  6. 编辑:一年后,我找到了另一个原因。我的drawable文件夹中有一个.jpg图像,其名称与.png图像相同。在我的代码中引用此图像必定使程序混淆,并且它给出了“R无法解析”错误。

答案 12 :(得分:17)

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

项目右键单击属性 - &gt; Java BuildPath选择Library并添加android-support.jar,遵循以下步骤。

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

enter image description here

答案 13 :(得分:14)

我第一百万次遇到这个问题并意识到导致它的原因:我在名称中创建了一个带有大写字母的XML文件。 /res中的所有XML文件名都必须与[a-z0-9\\._]匹配。

答案 14 :(得分:13)

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

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

答案 15 :(得分:12)

R是生成的类。如果您使用的是Android Development Tools (ADT),则无论何时构建项目都会生成它。您可能已关闭“自动构建”。

答案 16 :(得分:11)

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

还要确保所有图像资源名称都在LOWER CASE中。我的jpg文件名下有一个大写字母,它在我的项目中引起了R未解决的错误。

答案 17 :(得分:10)

我的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

希望这有助于某人。

答案 18 :(得分:10)

您可能需要更新/安装SDK工具。重新启动Android SDK Manager并安装一个新项目:Android SDK Build-tools.one一次删除,修复哪一项适合您。enter image description here

答案 19 :(得分:9)

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

enter image description here

答案 20 :(得分:7)

我也有这个问题。原来,我无意中从strings.xml文件中删除了“app_name”字符串资源,这导致了一个无声错误。一旦我将其添加回来,R类就会成功生成,所有内容都会重新启动并运行。

答案 21 :(得分:6)

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

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

enter image description here

答案 22 :(得分:5)

R.java可能无法自动生成的另一个原因是,如果您有 res / drawable-hdpi res / drawable-mdpi RES /抽拉-LDPI 即可。

1.6+似乎可以使用这些目录,但1.5不需要它们。当我删除这些目录时,R.java再次开始为我自动生成。

答案 23 :(得分:5)

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

答案 24 :(得分:5)

转到Android热门菜单列表。点击构建菜单,在构建下点击重建项目

enter image description here

答案 25 :(得分:4)

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

如果您希望2.1最低,Android 2.1实际上是API级别7。

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

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

这可能是导致R.java文件无法在Project&gt;下创建的最常见错误之一。 gen&gt; packagename&gt; R.java。

答案 26 :(得分:4)

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

答案 27 :(得分:4)

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

答案 28 :(得分:4)

在我的情况下,我的AndroidManifest.xml出错了。其他人说你的XML文件必须没有错误,但我只是在res /文件夹中查找。查找并修复尽可能多的错误,问题可能会自行解决。

答案 29 :(得分:4)

不幸的是,现有的问题都没有帮助。由于我的问题似乎是特定于平台的,所以只有在 Ubuntu 64位(我目前正在使用Ubuntu 12)时,这可能才有效。 起初我没有看到&#34;问题&#34;窗口,已经暗示了一个解决方案,在64位环境中你需要32位库,可能会丢失:

  

sudo apt-get install ia32-libs

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

答案 30 :(得分:4)

重新启动计算机。
除了这种方式,没有任何帮助我

答案 31 :(得分:4)

每次我遇到这个错误并且总是落在SO上。 并且结束时间原因是一样的。

所以请记住这个小小的注释

我发现大多数时候原因是 - XML布局错误

  

如果您的XML不正确,则在a之后不会生成R文件   建立。

答案 32 :(得分:4)

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

答案 33 :(得分:4)

安装所有Android SDK Build-tools并删除Activity类中的import android.R。点击Project - &gt;清洁

import android.R;

enter image description here

答案 34 :(得分:3)

如果有人感兴趣(我可能在这里挽救你的生命),我有错误,R.xml无法解决,在GLS项目上略有不同。 Hmmmm。查看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>

答案 35 :(得分:3)

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

答案 36 :(得分:3)

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

答案 37 :(得分:3)

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

答案 38 :(得分:3)

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

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

答案 39 :(得分:2)

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

答案 40 :(得分:2)

因此,在切换构建目标时,我多次遇到此问题。通常做一个项目&gt;&gt;清洁为我工作。然而,这最后一次没有。最后,我尝试打开位于根项目文件夹下的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

答案 41 :(得分:2)

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

  1. 项目 - &gt;清洁(它通常有效,但这次没有)。
  2. 我尝试删除gen/文件夹(自动构建) - nope。
  3. 虚拟修改文件。不,再说一遍。到现在为止,我已经灰色
  4. 如果AndroidManifest.xml存在,我检查了appName文件。它被检查了!
  5. 再次查看我的res /文件夹......
  6. 这就是它变得奇怪的地方......它在一些但并非所有情况下都会出错。                            

    我添加了formatted =“false”标志:

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

    宾果!

答案 42 :(得分:2)

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

  • 确保所有引用的资源图像实际存在
  • 每个人都已提到这么多,这只是回声...如果需要,删除所有Eclipse注入的R.*导入。
  • 我喜欢在执行上述操作时重新启动Eclipse。
  • 确保所有XML文件都已正确结构化。就像,只做你的东西。哈哈哈
  • 尽可能多地通过线路。习惯于经常点击 Ctrl + Shift + S 来快速更改编译结果。

HAHAH。当然,很高兴得到 R无法解决修复了......

答案 43 :(得分:2)

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

答案 44 :(得分:2)

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

这是因为陈旧的R.java文件。当我们编辑android清单文件时,会再次创建R.java。

答案 45 :(得分:2)

要解决此问题,请转到java Build path-&gt; order和Export并选择all复选框并选择ok,然后清理并构建项目并导入包名R文件(Ex com.demo.R)。它有效。

答案 46 :(得分:2)

我使用Window-&gt; Preferences-&gt; Android和SDK位置:adt \ sdk的路径为自己解决了这个问题,例如: C:\ ADT \ SDK

答案 47 :(得分:2)

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

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

它会正常工作。

答案 48 :(得分: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

希望这有帮助。

答案 49 :(得分:1)

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

答案 50 :(得分:1)

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

窗口 - &gt; Prefs - &gt; Java - &gt;编辑 - &gt;保存操作

取消选中“整理导入内容”。

那就行了。

答案 51 :(得分:1)

我的解决方案(在Eclipse Juno上)是点击“Fix Project Properities”:

  1. 在项目上单击鼠标右键
  2. 选择Android工具菜单
  3. 点击Fix Project Properities
  4. PS。首先检查是否未实现R库,以及res /文件夹中的所有文件是否正常。

答案 52 :(得分:1)

这可能发生的另一个原因是:今晚,我遇到了可怕的错误,并最终发现一个错误的鼠标拖动显然将我自己的一个包的类移动到另一个的层次结构中。你可以在Eclipse环境中搞定自己的方式真的没有尽头。

答案 53 :(得分:1)

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

1.点击你的项目 - &gt;项目属性

2.Java Build Path

3.订单和出口

将Build类路径的顺序更改为

1。(您的包名称)/ SRC

2.Android(版本号)

3.Android Dependencies

4.(您的包名称)/根

答案 54 :(得分:1)

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

答案 55 :(得分:1)

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

答案 56 :(得分:1)

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

答案 57 :(得分:1)

我遇到了同样的问题,但无法找出导致错误的xml文件。

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

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

答案 58 :(得分:1)

我多次遇到这个问题而且我发现有些时候“R不会解决”会产生,因为:

  1. 存在一些名为资源的错误,例如:名为My imge.png
  2. 的图像
  3. 或资源中的一些错误,如xml文件中的错误或在表单中定义不存在的资源时出错。
  4. 在这种情况下,您甚至无法将自己的包R导入项目。所以转到您的资源文件夹并搜索以上2点。

    这将起作用

答案 59 :(得分:1)

同样的事发生在我身上,我过了一天来解决这个问题。真的,这是一个愚蠢的错误。我只是剪切了我的经验,可能会对你有所帮助。首先仔细查看当你输入setContentView(R.layout.activity_to_do_list);时,听到你的起点R.l然后eclipse应该打开一个建议,看起来像这样enter image description here

您导入的第二个不是layout-android.R。在项目中创建第二个,听取com.example.gridtest是项目包名称。然后将导入的部分集中在代码enter image description here

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

答案 60 :(得分:1)

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

通过linux shell重新启动adb

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

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

答案 61 :(得分:1)

  1. 关闭所有文件,清理项目,重新启动Eclipse。
    1. R是一个自动生成的类,它包含用于标识资源的常量。如果您没有R.java文件(它将是带有1.5 SDK的Eclipse中的gen / eu.mauriziopz.gps / R.java),我建议关闭并重新打开您的项目或转到Project&gt;构建所有(并按照Josef的推荐选择“自动构建”)。如果这不起作用,而不是尝试制作新项目

答案 62 :(得分:1)

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

答案 63 :(得分:1)

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

答案 64 :(得分:1)

通过右键单击&gt; Android工具&gt;修复项目属性以及重新启动Eclipse的一段时间,它对我有用。

答案 65 :(得分:1)

更好,更有前景的解决方案

  1. 关闭Eclipse并打开Workspace目录。
  2. 查找名为&#34; .metadata&#34;的文件夹并删除该文件夹。
  3. 打开Eclipse。
  4. 错误应该消失:)

答案 66 :(得分:1)

当您刚刚打开项目时, Android工作室需要一段时间才能加载。 它发生在我身上很多。我只是坐下来观看youtube视频5分钟,同时加载完毕。

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

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

答案 67 :(得分:1)

R无法解决有几个原因。

  1. 大多数情况下,XML文件错误会发生此错误。这个错误可以通过清理和重建你的项目来解决,你也可以重启你的android工作室。

  2. 有时如果您在AndroidManifest编码错误的内容,可能会发生此错误,请检查此内容。

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

  4. 如果你已经检查了这些但是你面临同样的问题,那么 继续:

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

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

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

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

答案 68 :(得分:1)

只需重新启动您的项目

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

注意:

  1. Android自动创建不需要导入的.R文件
  2. 导入android.R。* <<由android Studio自动创建的R.java文件
  3. Android studio拥有大量缓存,这就是为什么它会出现一段时间的原因

答案 69 :(得分:1)

1)首先关闭所有文件。
2)转到Build-> Clean Project。
3)转到Build-> Rebuild Project。

这对我有用。

答案 70 :(得分:0)

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

screenQS.xml - 无效!

screenqs.xml - 工作了!

答案 71 :(得分:0)

另一种方法是,如果您从其中一个样本开始一个新项目。当您稍后决定将包名称从com.example.android.foo更改为您自己的域时,您将需要修改清单和单个.java文件中的多个值。

如果您在Eclipse中,请找到.java文件的package语句,然后选择QuickFix。那里可能有几个选择,但你想要的那个是指示“移动'foo.java'到包'com.youdomain.android.yourapp'的那个。保存文件,它可以自动生成或像其他人建议的那样做并尝试“项目 - &gt;清洁”。

答案 72 :(得分:0)

我的R文件消失了,不会生成 - 控制台报告了这个:

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

事实证明,资源名称不能包含大写字母 - 确认它们都是小写字母并包含。和_只

答案 73 :(得分:0)

在drawable文件夹中放入一些图形后,我遇到了同样的问题。有一些错误,当我尝试清理时,R.java文件不存在。

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

这可能对您或其他读者有所帮助。

答案 74 :(得分:0)

在可能引起这种情况的许多可能问题中,这就是为我解决的问题。

右键点击项目 - &gt;属性 - &gt; Java构建路径 - &gt;资源。

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

答案 75 :(得分:0)

我曾尝试过以上所有内容,但并未获胜。结果PhoneGap导致与Android SDK发生冲突。卸载PhoneGap后,资源文件再次开始重新生成。另一个项目,需要PhoneGap,所以我重新安装,再一次,Android项目(一个不同的项目)停止自动生成R文件 - 自动构建检查,做了清理,重新启动Eclipse - 没有骰子。我删除了PhoneGap,它再次正常工作。这是PhoneGap v 1.5,带有Eclipse的MDS 1.1插件。

答案 76 :(得分:0)

请确保您在R.drawable.*文件夹中找到drawable*该文件。

答案 77 :(得分:0)

解决方案:

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

答案 78 :(得分:0)

一个人不应该尝试导入android.R。尝试修复XML文件中出现的所有错误,包括清单文件。清除所有错误后,R.java将重新出现。

答案 79 :(得分:0)

在我的情况下,我试图将我的项目转换为Maven。过了一会儿(以及成千上万的随机错误)我试图撤消所有的操作。我没有注意到.project文件已被更改,它在Eclipse中不可见。

只有将.project文件还原到before-maven版本才能帮我修复此错误。

答案 80 :(得分:0)

对我来说,这是因为java编译器版本错误。 项目绩效 - &gt; Java编译器,启用“启用项目特定设置”并选择“编译器合规级别”

答案 81 :(得分:0)

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

答案 82 :(得分:0)

这对我有用。

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

问题是eclipse没有生成R.java。没有任何清洁/重启有效。

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

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

答案 83 :(得分:0)

我尝试了上面的大多数方法,但不能解决我的问题

最后我发现adb丢失了

对于mac os,转到android sdk目录

输入./adb start-server

答案 84 :(得分:0)

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

由于某些原因,如果您未在活动中添加任何内容,例如onCreate(),则无法理解R是什么。

答案 85 :(得分:0)

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

答案 86 :(得分:0)

R会有两种错误方式

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

2)如果更新adt,则会出现R问题。     - 您必须检查项目的属性     - goto-&gt;属性 - &gt; Java构建路径 - &gt;订购和导出并检查所有库。

它将解决问题。

答案 87 :(得分:0)

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

否则您的XML文件可能会出错或检查其他答案。

答案 88 :(得分:0)

我在这个帖子(以及其他许多人)上尝试了大多数选项,但对我来说没有任何作用。最后这个工作,所以我想与大家分享......

我的机器上有多个版本的Eclipse IDE(因为我还处理非Android相关项目)。无意中,我使用另一个(非Android)版本的Eclipse使用的工作区创建了我的Android项目。由于这个原因,我想有些奇怪的事情发生了,我的R.java永远不会被生成!

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

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

答案 89 :(得分:0)

这很有效。

第1步:

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

第2步:

加载eclipse并加载项目&gt;运行和测试将即时运行

第3步:

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

享受。快乐的编码。

答案 90 :(得分:0)

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

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

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

答案 91 :(得分:0)

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

答案 92 :(得分:0)

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

答案 93 :(得分:0)

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

答案 94 :(得分:0)

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

答案 95 :(得分: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

答案 96 :(得分:0)

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

我尝试了许多地方提到的所有方法,但我没有注意到我把它放在一个不同的包中。经过几分钟的挣扎后,我注意到我把它放错了包裹。

如果您未将Activity保留在活动包中,则会收到此错误。

答案 97 :(得分:0)

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

答案 98 :(得分:0)

此外,如果你的res文件夹中有额外的文件,如“desktop.ini”,这些文件是由操作系统添加的,但完全没有必要,请尝试删除它们。这显然是阻碍我在进口项目中生成R.java的事情之一。

答案 99 :(得分:0)

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

R是生成的类。如果您使用的是Android开发工具(ADT),则无论何时构建项目都会生成它。您可能已经自动构建了&#39;关掉了。

答案 100 :(得分:0)

R是android项目中自动生成的资源,有时候它确实不知道为什么会让你尝试自动构建项目

=&gt;删除其他项目或android.r的R文件的其他导入 =&gt;永远记住,如果你总是遇到自动生成id或自动删除R文件的问题,你可以生成像字符串文件的静态ID,并使用@id代替@ + id

答案 101 :(得分:0)

哦上帝我 Linux ubuntu )这就是我解决它的方法:

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

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

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

sudo chmod +x -R .

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

这对我有用!。

答案 102 :(得分:0)

运行x64 Linux时,您可能会遗漏一些x32构建库。 Debian的Ex确保你有libc6-i386&amp;已安装zlib1g软件包。

答案 103 :(得分:-1)

这可能是手动重命名AndroidManifest.xml中的包

引起的问题

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

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

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

来源:Rename package name in android

答案 104 :(得分:-1)

解决 R

  1. 使您的所有 XML 文件正确无误
  2. 然后构建菜单

    中的清理项目

    这是最简单的方法

    希望它能解决。

答案 105 :(得分:-2)

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

答案 106 :(得分:-3)

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

答案 107 :(得分:-4)

Alt + 输入并导入

控制 + F9

并解决了。