R cannot be resolved - Android error
我刚刚下载并安装了新的Android SDK。我想创建一个简单的应用程序来测试它。
向导创建了此代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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 cannot be resolved
在线
1 | setContentView(R.layout.main); |
为什么?
PS:我在
在跟踪这个问题之后,我在Android文档中发现了这个注释:
http://source.android.com/source/using-eclipse.html
*Note: Eclipse sometimes likes to add an"import android.R" statement at the
top of your files that use resources,
especially when you ask Eclipse to
sort or otherwise manage imports. This
will cause your make to break. Look
out for these erroneous import
statements and delete them.*
在阅读Android示例教程时,我经常使用ctrl+shift+o命令"组织导入"并生成任何缺少的导入语句。有时,这会生成错误的import语句,从而隐藏在构建时自动生成的
(P)Each time I had a problem with R not been generated,or even disappeared,this was due to some problem in the xml layout file that prevented the application from being built.(p)
每当你得到
R cannot be resolved
然后检查
如果您有任何额外的,甚至是未使用的!!)或未引用(!)像res/drawables mdpi这样的文件夹中的图像不符合文件命名约定(可能只包含[a-z0-9_.]),r.java类可能不会生成,从而导致所有其他文章引用的事件链。希望它有帮助!
布尔奇1(P)Look at your imports.机会是那条线:(p)字母名称(P)会有。如果这是一种情况,那么,你的项目将解决R,而不是与Default Android Resources Class,但与你的唯一一代人/Res/Folder。(p)
另一个可能导致这个问题的原因是:
我安装了新的ADT(第22版)。它停止创建
此处找到解决方案
当您更改您的
Eclipse可能在执行clean时遇到问题,因为它对当您更改Android软件包时,
注意,如果您的EDCOX1"3"文件包名不匹配您的Java包名称,Eclipse将自动添加一个"import
(P)What will say right(p)布尔奇1(P)但我发现有另一个问题是造成第一个问题。The tools in the SDK directory did n't have the permissions to be executed,so it was like the did't exist for ecipse,thus it did n't build the EDOCX1 penal 1 file.(p)(P)So modifying the permission and selecting"build automatically"solved the problem.(p)
(P)R is an automatically generated class that holds the constants used to identify your resources.If you don't have an R.Java file(i t would be gen/EU.Mauriziopz.GPS/R.Java in ecipse with the 1.5 SDK)I would recommend closing and reapening you r project or going to project>build all(and selecting"build automatically"while there as recommended by Josef.If that doesn't work than try making a new project,if the problem is recreated than post here again and we'll go into more detail.(p)
关闭所有文件,清除项目,重新启动Eclipse。
它是
它是:
1 2 3 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="your.correct.package.name" ... |
你是
这个错误可以被添加到一个由活动引起的,是不同的根命名空间的命名空间的包。
例如,如果
这将产生"R不能解决"的错误。
在固定的位置R的默认命名空间导入您的活动应该是:
1 | import com.example.myapp.R; |
除了前面答案中的建议外,确保您的Android目标已设置:
编辑:一年后,我发现了另一个原因。我在我的可绘制文件夹中有一个.jpg图像,名称与.pNG图像相同。在我的代码中引用这个图像肯定混淆了程序,它给出了"R不能被解析"的错误。
确保安装了Android构建工具Form SDK Manager
项目右击属性-> JavaBudidPoad选择库,然后添加ANDROID-SUPUT.JAR。
转到Projt>属性-> Java构建路径,而不是选择"订单"和"导出"选项卡。设置android支持。jar库被检查并放在列表顶部。以及清理和重建……它适用于大多数情况
我第一百万次遇到这个问题,意识到是什么导致了这个问题:我创建了一个名为大写字母的XML文件。
最简单的解决方案——有时您只需要保存正在处理的XML文件,就可以让自动生成器启动。
保存文件(例如main.xml),然后删除r.java文件,查看重新生成的r.java是否解决了r resolve问题。
(P)字母名称如果你使用机器人开发工具(ADT),这是在项目被开发时产生的。你可能有'build automatically'turned off。(p)
检查XML文件名。确保它们都是小写的。
还要确保所有图像资源名称都是小写的。我的JPG文件名中有一个大写字母,它在我的项目中引起了R未解决的错误。
这对我的错误cropped x64安装Linux Mint。它是把输出结果是在二进制
如果你不有不同的发行版X64的LIBS,你太多。
检查# # 4和5在这个帖子:crunchbang.org http:/ / / / viewtopic.php论坛?277883 # p277883 PID =
希望这有帮助。
您可能需要更新/安装SDK工具。重新启动android sdk manager并安装一个新项目:android sdk build-tools.one-by-one-delete,fix which one-work for you.。
您可能需要更新SDK工具。重新启动android sdk manager并安装一个新项目:android sdk构建工具。
(P)I had this problem as well.It turned out that I had inaverently deleted the"app"uname"string resource from the EDOCX1 pental 2 communal file,which was causing a silent mistake.11 I added it back,the R class was generated successful and everything was back and running.(p)
首先检查是否有任何XML布局中的错误,如果有,则首先解决它。
否则,从项目中移除JUnit依赖项并重新生成项目。
只需进入Android顶部菜单列表。单击"构建"菜单,在"构建"下单击"重建项目"。
尝试将新的XML布局文件名设为小写。例如,使用
然而,
1.6+似乎可以使用这些目录,但1.5不需要它们。当我删除这些目录时,
这通常是因为创建项目时提供了minsdk版本号。例子:
如果您希望2.1是最小值,那么Android2.1实际上是API级别7。
当您浏览下载和安装的SDK时,您可以看到我在说什么。导航到安装SDK的位置(例如
创建项目时,必须选择"构建目标"API,该列表中名为"API级别"的最后一列显示填充minsdk设置时要查找的数字。
这可能是导致
我有android 8的例子,并尝试使用android 7 sdk。当我关闭项目并重新打开应用程序文件夹并选择使用android 8 sdk时,它能够找到r文件。希望这有帮助。
不幸的是,现有的问题都没有帮助。由于我的问题似乎是平台特定的,这可能只有在Ubuntu 64位(我目前使用Ubuntu 12)时才能工作。起初,我没有看到"问题"窗口,它已经暗示了一种解决方案,即在64位环境中,需要32位LIBs,这可能是缺少的:
sudo apt-get install ia32-libs
我安装了这个包并重新构建了我的项目,这为我解决了这个问题。
重新启动计算机。除了这样没什么能帮我的
拆下
在我的案例,我已经在我的
在我的例子中,R.java没有生成,因为在androidmanifest.xml文件中有一个问题,我错误地指定了一个活动的名称!
安装所有android sdk构建工具并删除Activity类中的import android.r。单击"项目"->"清理"后
1 | import android.R; |
每次我遇到这个错误,总是被落在这个上面。一天结束的原因是一样的。
所以请记住这张小纸条
我发现大多数时候XML布局中的原因是-错误
If your XML isn't correct, then the R file is not generated after a
build.
检查上面的类文件
(P)In case anyone is interested(I might be saving your life here),I had the mistake,EDOCX1 original 3 cannot be resolved,slightly different on a GLS project.嗯。在搜索EDOCX1(音译)后,我发现了一个自动生成的分类,EDOCX1(音译)5(音译)是不存在的。(p)(P)Solution?I need a new folder in EDOCX1 commercial 6 commercial:EDOCX1 commercial 7 and a file called EDOCX1在那里。他们都很好。(p)(P)只要你还没有拿到那份文件,它是:(p)字母名称
只是清理和重建你的项目有时会有帮助
确保在Android中的res/drawable文件夹中没有错误。在命名该文件夹中的图像时,不会给出数字和大写字母。
我的问题是我在Strugs.xml中忽略了字符串中的标记。例如
变更版本1.5或1.6到2.2,从目标的API(第8版)和检查,如果你有
如果清除项目不起作用,并且XML文件没有问题(如果是新项目)。然后转到androidmanifest.xml,编辑它并在行之间添加一些空格,保存它。现在清理项目,错误就会消失。
这是因为r.java文件过时。当我们编辑android清单文件时,会再次创建r.java。
对我来说,我删除了"导入Android .r",它修复了我所有的问题。多么可怕的噩梦啊!!!!
要解决这个问题,请转到Java构建路径>订单,然后导出并选择所有复选框,然后选择OK,然后清理并生成项目并导入包名R文件(EXCOM.DEMO.R)。它起作用了。
最近,我和一些类似的情况是不能解决的。
这是它变得怪怪的……它提供了一些错误,但不是在所有情况下。
i格式化加="假"标志:
1 2 3 4 | <resources> <string name="blablah" formatted="false"> </string> </resources> |
宾果!
因此,当切换生成目标时,我已经多次遇到这个问题。通常做一个项目>清洁为我工作。然而最后一次,却没有。最后,我尝试打开我的Debug属性文件,它位于根项目文件夹下。我收到一个错误消息,说明它与文件系统不同步。实际上我删除了它并复制了一个允许Eclipse重建我的R文件的同事版本。我会粘贴下面的样子。它被命名为"默认属性"。
1 2 3 4 5 6 7 8 9 10 11 12 13 | # 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 |
我把文件
对我来说,这是由于使用了"私有"安卓抽屉:
1 2 3 4 | [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'). |
有趣的是,直到我用图标删除了对文件的引用(啊!).
1 | android:entries="@menu/drawer_view" |
现在,解决方案非常明显,将图标复制到我的项目中(res/drawable XXXX/)并切换到本地引用。
1 | @drawable/ic_menu_home |
希望这有帮助。
哇。解决我的问题我可以跟踪所有在R上所有XML文件中的错误和相关的资源。我知道这是一个简单的支持层,但你必须:
- 确保任何资源实际上是在参考图像
- 这是太多的人已经提到的只是回音……删除所有的Eclipse的注入
R.* 如果需要进口。 - i重新启动Eclipse的时候,我喜欢做上面。
- 确保所有文件是在XML的结构化。样,只是做你的东西。哈哈哈
- 当你在走线为CAN。在大学中得到的习惯ctrl + +编译器shift s经常得到迅速改变的结果。
哈哈。当然它是很固定的时间得到的R不能太……
我自己解决了Windows ->首选项> Android和SDK位置:到ADTSDK的路径,如C:ADTSDK
我认为问题出在layout.xml文件或import语句中。
请确保您没有导入r.android,而不是导入r.your包名称。
它会很好用的。
一个更好、更有希望的解决方案
错误应该消失:)
同样的事情发生在我身上,我花了一天时间来解决这个问题。这真是个愚蠢的错误。我只是剪掉了我的经验,也许对你有帮助。首先,在键入这个EDCOX1 1时仔细观察:听到你的起始点
导入第二个不是EDCOX1,3。第二个是在您的项目中创建的EDCOX1,4是项目包名。然后将导入的部分集中到代码MGXY1 1中。
好的,看看这个EDOCX1 5,它很重要。如果您已经导入了EDCOX1,6,那么删除它。谢谢你的希望。(你不需要总是这样做,但是如果你面对这样的问题,那么就这样做,希望它会有帮助)
或
通过将资源文件直接放在Android指定的目录中,我解决了这个问题。我错误地认为R.RAW可以包含我的资源的整个文件目录。所有文件必须有r.RAW作为它们的直接父目录。
确保所有资源文件没有大写扩展名。我发现我保存了一些带有大写扩展名
如果您在Mac上,请检查是否已将
它为我工作,右键点击>Android工具>修复项目属性,并有一段时间AFTR重新启动Eclipse。
有些答案建议重新启动计算机。我发现重启
通过Linux shell重新启动
1 2 3 | $ cd $ANDROID_SDK/platform-tools $ ./adb kill-server $ ./adb start-server |
您可能需要重新启动Eclipse,以便它可以重新连接到重新启动的
真正的问题是如何防止"进口从R;返回:Android。
prefs窗口> > > >保存Java编辑器的行为
uncheck"组织的进口。"
我想做的。
另一个可能发生这种情况的原因是:今晚,我遇到了可怕的错误,最终发现了一个错误的鼠标拖动,显然将我自己包的一个类移动到了另一个包的层次结构中。在Eclipse环境中,有很多种方法可以让你自己陷入困境,这真的没有尽头。
从这里提供的许多答案中,帮助我的是在Java构建路径上更改"订单和导出"的顺序。
1.单击"您的项目"->"项目属性"
2、Java构建路径
3.订单和出口
将生成类路径的顺序更改为
1.(您的包名称)/SRC
2.安卓(版本号)
3.Android依赖项
4.(您的包裹名称)/gen
只是清理和重建你的项目有时会有帮助
在我的例子中,这个错误是因为我将一个映像导入到了文件夹/res,而该映像的名称无效。真不敢相信我花了将近一个小时来解决这个问题,直到我意识到图像的名称无效:/
我有很多次遇到这个问题,我发现有些时候"R不解决"会增加,因为:
在这种情况下,您甚至不能将自己的包R导入到项目中。所以,转到你的资源文件夹,搜索上面的2个点。
这会起作用
有几个原因R不能解决。
大多数情况下,此错误发生在XML文件错误中。这个错误可以通过清理和重建你的项目来解决,你也可以重新启动你的安卓工作室。
有时,如果您在
如果您的资源包含相同的名称或包含无效字符,则可能发生此错误。
如果您已经检查了这些问题,但仍面临同样的问题,请继续:
当android studio未能正确生成r.java文件时,可能会发生此错误,因此您必须遵循以下步骤:
步骤1:安全地从应用程序目录中删除EDCOX1×1文件夹。步骤2:在Android Studio中,EDCOX1×2第3步:EDOCX1,3,然后EDOCX1,4。
因此,
如果仍然发现错误,那么可能您以前已经执行过重构包名称的操作。这种情况下,您可以同时按
我也有同样的问题,但是找不到导致错误的XML文件。
由于这篇文章,我安装了构建工具18.1.1而不是19,它向我展示了有缺陷的文件。版本19似乎没有显示实际的错误。
希望它能帮助别人:-)
有时,当您手工创建r.java文件时,只需简单地清空r.java,这会有所帮助。
当你刚刚打开你的项目时,Android Studio需要一段时间才能加载。我经常发生这种事。我只是坐下来看一个YouTube视频5分钟,当它完成加载。
到那时,不能解析的符号R就消失了!-)
如果你已经检查和重新检查了上面提到的一切,确保项目已经完成建设,我建议你耐心等待…如果不清理和重建项目。
我的解决方案(在EclipseJuno上)是通过以下方式单击"修复项目属性":
ps.首先检查R库是否未实现,以及res/folder中的所有文件是否正常。
哦,天哪,我是Linux(Ubuntu)我就是这样解决的:
首先,问题是权限问题,我没有看到任何Perission相关错误,但这就是问题所在。工具没有可执行权限。
所以只是一个快速修复(如果您知道需要可执行会话的确切文件,请将FF命令专门应用于它们。)
更改为您放入SDK的目录,然后:
1 | sudo chmod +x -R . |
在那之后,转到
那对我有用!.
如果您使用Eclipse:有时Eclipse会抑制资源文件中的错误消息。解决方案:保存布局文件夹中没有错误的临时资源。新建项目。然后Eclipse在资源文件中显示正确的错误。删除临时资源。
另一种可能发生这种情况的方法是,如果从其中一个示例开始一个新项目。当您决定将包名从COM.Engul.ANDROID.FoO更改为您自己的域时,需要修改清单和单独.java文件中的几个值。
如果处于Eclipse中,请找到.java文件的包语句,并选择QueFixFix.可能有几个选择,但你想要的是一个"移动"Fo.java'到包'COM.YouDeal. Android .YouApp '.保存文件,它可以自动生成,也可以按照其他人的建议执行,然后尝试"项目->清理"。
这是可行的。
步骤1:
下载HTTPS://www. DROPBOX.COM/S/7NWLRG05KE05TAT/GALYRIGIVIEVIEW.ZIP
步骤2:
加载Eclipse并加载项目>运行和测试将继续运行
步骤3:
如果有任何问题,请在此处更新。
享受。快乐编码。
我也有同样的问题。在我的例子中,这与布局XML文件名有关。我有一些文件名中有大写字母:
screenqs.xml-不起作用!
screenqs.xml-成功了!
另外,如果您的res文件夹中有"desktop.ini"之类的额外文件,这些文件是由操作系统添加的,但完全不必要,请尝试删除它们。这显然是我的一个导入项目中阻碍R.java生成的原因之一。
右键单击项目并单击
R是自动生成的资源,在Android项目中有时它会发生,不知道为什么,但你有没有尝试从项目中自动生成选项
=>删除其他项目或Android的r文件的其他导入。=>请始终记住,如果您总是面临自动生成ID或自动删除R文件的问题,您可以生成类似静态ID的字符串文件,并将其与@id而不是@+id一起使用。
我的工作是安装"android sdk构建工具"。打开android sdk manager并安装android sdk构建工具。它还帮助在Eclipse中更新andriod开发平台:帮助>检查更新
运行x64 Linux时,可能缺少一些x32内部版本库。对于Debian,请确保安装了libc6-i386&zlib1g包。
我按照建议安装平台构建工具。然后消息
1 | <package>/gen already exists but is not a source folder. Convert to a source folder or rename it. |
出现在控制台中。所以我按照建议将"gen"设置为源文件夹。这解决了问题。
每次我对r有一个问题没有被生成,甚至消失,这是由于XML布局文件中的一些问题阻止了应用程序的构建。
R是生成的类。如果您使用的是Android开发工具(ADT),则在构建项目时生成该工具。您可能已关闭"自动生成"。
解决方案:
Eclipse重新启动后的项目清理。它们是自动生成的,否则在ctrl+shift+o之后,任何组件(如按钮)都是XML内部的。它自动生成了R文件,然后解决了错误。
我尝试了上面的大多数方法,但没有成功。
最后我发现亚行输了
对于Mac OS,请转到android sdk目录
类型/ADB启动服务器
用包名称导入R类。不要导入Android R类。
这对我很有用。
在Eclipse向导创建的全新项目中,我没有"import android.r"。默认的XML布局文件也是小写的。
问题是Eclipse没有生成r.java。清洁/重新启动的次数没有任何影响。
我评论了setContentView和getmenuinflator调用,以及随后Eclipse生成r.java的Make成功。
生成r.java之后,我就可以取消对setContentView和getMenuFlator的注释。
r.java可能无法自动生成的原因是,如果您的目录如下
1 2 3 4 5 | res/drawable-hdpi, res/drawable-mdpi, res/drawable-ldpi. image name should be in a proper way |
检查图像名称并检查和layout/any.xml和XML
我也面临同样的问题,我在谷歌上搜索并尝试我发现的建议,但没有一个对我有用。我改变了我的工作空间,它起作用了,但是在改变你的工作空间之前,尝试其他的解决方法。他们中的任何一个都可能为你工作。
我今天也遇到了同样的问题。我尝试使用sdk管理器执行所有sdk更新。完成并重新启动IDE后,问题已解决。
对我来说,这是因为错误的Java编译器版本。项目属性-> Java编译器,启用"启用特定于项目的设置",并选择"编译器遵从级别"
在我的案例中,我试图将我的项目转换为Maven。过了一会儿(还有成千上万的随机错误,它们什么也没说),我试图撤销所有的操作。我没注意到的是,项目文件被更改了,在Eclipse中看不到。
只将.project文件还原到maven版本之前的版本,这有助于修复此错误。
我尝试了这个线程上的大多数选项(以及其他许多选项),但没有任何对我有用的。最后这个成功了,所以我想和大家分享一下…
我的机器上有多个Eclipse IDE版本(因为我也在非Android相关的项目上工作)。不小心我用另一个Eclipse(非Android)版本使用的工作区创建了我的Android项目。由于这个原因,我猜发生了一些奇怪的事情,我的r.java永远不会生成!
为了解决这个问题,我所做的就是创建一个新的工作区,然后神奇地r.java开始生成,一切都很顺利…
所以当你尝试所有其他的选择时,也给这个机会。希望它对你有用…
一个人不应该试图进口
如果你正在寻找EDCOX1,3文件,请确认文件存在于你的EDCOX1,4个文件夹中。
我会说,"R不可能被解决"是一个太笼统的东西,有时会产生误导。即使是在我第一次创建新项目时(这意味着我还没有弄乱代码),我也曾多次遇到过同样的问题。大多数时候,我只需要更新我的SDK管理器(正如一些人提到的)。但是在我最近的案例中,我发现到我的项目文件的路径太长(类似于这个
&D\ANDROID\ANDROID BASIC\Folder 1\ Folder 2\..... \Folder n\MyProject
有两种方法R会出错
1)布局文件IE XML文件有问题
2)如果更新ADT,则会出现R问题。-你必须检查项目的属性GOTO ->属性-> Java构建路径> >订单并导出并检查所有的LIB。
它将解决这个问题。
首先,查看gen文件是否包含包名和r.java或no。如果它是空的,那么您可能没有创建新文件的权限,所以退出Eclipse而不是右键单击,以管理员身份运行并清理您的项目,一切都将是正确的。
否则,您应该在XML文件中有一个错误,或者检查其他答案。
在许多可能导致这种情况的问题中,这就是我解决问题的原因。
右击项目-> Projk:JavaBudio路径>源代码。
然后添加
面对同样的问题后,我把一些图形drawable文件夹中。有一些错误,当我试图
所以我仔细检查和发现,有一些文件和一些文件的文件名和uppercase是相同的名称,但有不同的文件扩展。我有一个独特的更名为这些文件和为每一个文件的名称为小写。记住Android关心文件的名称,不延伸。
也许这能帮助你和其他读者。
检查导入到应用程序中的库项目是否都已打开。
出于某种原因,如果您没有在活动中添加任何内容,比如
我的r文件不会生成和消失的控制台报告本:
2010年09月22 16 [ 19 ]::40 myproject RES -仪 drawable downloadnow.png:无效的文件名称必须只包含:A z0 _ [ 9 ]。
所以它把出资源名称是无法确认他们有资本字母和小字母都包含。和_只读
我试过以上所有的方法,但都没有成功。结果是PhoneGap导致了与Android SDK的冲突。卸载phonegap后,资源文件再次开始重新生成。另一个项目,需要PhoneGap,所以我重新安装,再一次,Android项目(另一个项目)停止自动生成R文件-自动构建被检查,做了清理,重新启动Eclipse-没有骰子。我移除了PhoneGap,它又开始工作了。这是PosiGeP V 1.5,带有MDS 1.1插件,用于Eclipse。
这是一条非常古老的线,我今天有了一个新发现。我创建了一个活动,我把它放在另一个包中(错误地)。在新创建的类中,Eclipse无法解析
我尝试过很多地方提到的所有方法,但是我没有注意到我把它放在了一个不同的包里。挣扎了几分钟后,我注意到我把它放错了包装。
如果您没有将您的
这可能是由在androidmanifest.xml中手动重命名包引起的问题。
另一种方法是使用内置工具重命名包,这将解决大多数问题,避免R未找到的问题。
1 2 3 4 | Right Click on the project Click on Android Tools Click on Rename Application Project Enter the new package name |
然后会出现一个弹出窗口,要求应用更改,包括R解决方案。
源:在Android中重命名包名称
解决R
然后清除构建菜单中的项目
这是最简单的方法
希望它能成功。
我猜你只是复制粘贴代码,还是不。不管怎样,检查你的
检查您的XML文件的内容。如果
按alt+enter并导入
或
ctrl+f9
并解决了。