在Eclipse中,我从源创建了一个项目,现在它显示错误 - “R无法解析为变量”。从我在这里找到的,我已经清理并重建了项目,但是R文件仍未出现在/ gen文件夹中。
有什么想法吗?
答案 0 :(得分:175)
别担心。首先,您可以清理项目,然后运行项目。如果这不起作用,请按照以下链接:
答案 1 :(得分:42)
如果Clean / Rebuild Project不起作用,请尝试在AndroidManifest.xml中检查我们的包名称。
当您在AndroidManifest.xml文件中更改包名称时,会出现“无法解析R”的问题。它使用您的Android软件包名称在“gen”目录下创建一个子目录,用于存储R.java文件。
答案 2 :(得分:10)
对我来说,通过在Android SDK Manager中进行一些更改来修复错误 无论最新的API级别是什么,请安装其“SDK平台”。对我来说,最新的API级别是16,所以我安装了它的SDK平台,如下图所示。现在工作正常。
干杯,Mayank
答案 3 :(得分:9)
您刚刚更新了sdk和adt(从21到22),然后您需要安装新项目: Android SDK构建工具
参考: Eclipse giving error, missing R.java file after recent update
答案 4 :(得分:6)
对我来说,向“R”文件存在问题的人建议的最佳解决方案是尝试后续步骤(顺序无关紧要):
更新ADT& SDK,Eclipse和Java。
删除gen文件夹,然后重新创建。
做一个清洁项目。
右键单击该项目并选择android-tools - >修复项目属性。
右键单击项目并选择属性 - > java-build-path - >订单和出口。确保订单是:
Android 4.3(始终是最新版本)
Android私人图书馆
android依赖
您的图书馆项目(如果需要)
yourAppProject /根
yourAppProject / SRC
确保res文件夹的子文件夹中的所有文件都有正确的名称:只有小写字母,数字和下划线(“_”)。
始终确保targetSdk指向最新的API(当前为18),并将其设置在project.properties文件中
答案 5 :(得分:6)
对我来说不知何故项目属性; Android的;项目构建目标未设置。我在那里选择了一个Android版本(例如4.2)并修复了它。
答案 6 :(得分:4)
对我来说,我的SDK末尾有一个缺失的斜杠。在Eclipse中>偏好> Android> SDK位置
例如,更改
/home/matt/android-sdk-linux
到
/home/matt/android-sdk-linux/
答案 7 :(得分:3)
我遇到了类似的问题和解决方案,我发现资源中的任何一个 文件aka背景,声音等不得包含大写字母或 除_
以外的任何特殊符号答案 8 :(得分:3)
你的android清单必须以正确的包
开头<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="HERE - Correct package NAME"
android:versionCode="1"
android:versionName="1.0" >`
答案 9 :(得分:3)
你真正需要做的只是从sdk manager安装“build-tools”, 并将自动生成r.java。
答案 10 :(得分:2)
我有同样的错误。错误是,我在res / raw文件夹中放置了一个文件无效的文件。 一旦我将文件名更正为有效名称,错误就解决了!
用于命名文件的允许字符: -
1. a-z
2. . _
3. 0-9
4. no capital letters
大写字母是我的问题!
答案 11 :(得分:1)
我遇到了这个问题而其他指南都没有帮助,然后我意识到我的系统上没有安装java jdk。如果您还没有这样做,请下载与您安装的eclipse版本相对应的版本(x86或x64)
答案 12 :(得分:1)
你的* .xml文件中可能有错误:布局等等。
答案 13 :(得分:1)
检查androidmanifest.xml
文件和layoutfolder xml文件。它们应该正确创建,因为xml中的起始和结束子句应该正确放置。更新文件,清理和构建。一切都准备好了!
答案 14 :(得分:1)
通过在Fedora和ADT升级后安装其他库,我解决了在fc19.x86_64和ADT v22.0.5-757759上解析R资源的问题。
yum install ld-linux.so.2
yum install libstdc++.so.6
yum install libz.so.1
adb需要这些库(Android Debug Bridge版本1.0.31)。
然后重新启动Eclipse并执行项目清理Project-&gt;清理要清理的项目。
希望有所帮助:)
答案 15 :(得分:1)
有时你可以意外地将导入添加到“R”,所以如果在你的代码顶部你看到一些奇怪的导入,你没有自己添加,删除引用,一切都应该恢复正常
答案 16 :(得分:1)
尝试从Googles的第一课开始运行Notepadv3程序时发现了这个问题..
对我来说,这是xml文件的一个问题,因为我使用的是API级别。我将Match_Parent的每个案例重命名为较旧的Fill_Parent类型。哦,如果你已经自动构建了项目,那么你需要在NoteEdit.java和Notepadv3.java上删除'import android.R',清理项目(点击'Project',然后'clean ...'),然后再保存
为我解决了。来自这篇文章Android NDK r4 san-angeles problem
无法相信谷歌不会警告这个问题 - 我已经设置了另一台PC来重新开始编程,即使有了一些先验知识,这也很痛苦..如何在导入时设置API现有项目???当您'''导入'等时,无法看到哪里有对话选项。
Scamparelli
答案 17 :(得分:1)
我的问题很奇怪,需要一些时间才能找到。不知何故,src文件的包已更改,以便删除包中的最后一个条目。例如,最初我的类MyActivity.java在com.abc.client.test.app包中,但在我添加了用户权限后,应用程序被删除,包被重命名为com.abc.client.test。我不知道是怎么回事。重命名包并将java文件放在正确的位置解决了问题。
答案 18 :(得分:1)
尝试修改AndroidManifest文件。
例如,添加空格并删除此空间。执行此操作后,保存项目。资源将被刷新。它可以帮助。
答案 19 :(得分:0)
问题是eclipse没有生成R.java。 要解决此问题,请转到project-&gt; clean ...并选择您的项目并选择ok,然后清理并构建项目并导入您的包名称R文件(Ex com.demo.R)。它有效。
答案 20 :(得分:0)
当其他解决方案失败时,选择您的项目并将其删除。请确认你不要从光盘中删除文件。
然后将文件&gt; import&gt;现有的Android代码用于工作区,并选择项目的位置。
答案 21 :(得分:0)
我的设置在最近的更新后被破坏,其中SDK构建工具需要在SDK安装后单独安装。所以构建工具更新+ Eclipse重启为我解决了这个问题。
答案 22 :(得分:0)
我在重命名项目时得到了这个。虽然项目已重命名,但某些引用不是。清除棉绒,然后重新运行lint帮助。 (右键单击项目&gt; Android工具&gt;清除Lint Markers,然后运行Lint)
答案 23 :(得分:0)
我知道这是一个老问题,但我刚刚解决了我自己的版本,也许这可能有助于某人。
经过两天用头发撕掉我的头发后,我终于通过删除raw
文件夹来解决它,然后重新创建它并将文件放回去。
之后,另一个Project > Clean
,最后编译。
答案 24 :(得分:0)
如果未遵循android命名约定,则会发生这种情况。检查您是否已将文件/照片放入其中一个android文件夹中,并确保文件名仅包含小写字母
答案 25 :(得分:0)
我将一个js文件添加到res文件夹时出现此错误。
res文件夹图标上设置了错误指示符。在我使用R的所有类中,我都遇到了这个错误。
我将js文件移动到assets文件夹,一切正常。
答案 26 :(得分:0)
就我而言,由于hierarchical parent error而没有生成R.java,而{{3}}又通过更新的一个或多个Eclipse插件来修复(Go Eclipse - &gt; Help - &gt; Check for更新)
答案 27 :(得分:0)
项目&gt;清洁...
通常会重新生成位于gen / com.mypackage
中的R.java文件答案 28 :(得分:-1)
我一直有这个,我确实追溯到布局文件..它再次发生在我身上,但我找不到在布局文件中注意到。我查看了string.xml并且有它...其中一个字符串名称以cap开头,这导致了问题。
答案 29 :(得分:-1)
修复/ res / menu文件夹中XML文件中的任何XML格式错误。
可能是格式不正确的XML文件的编译时错误。