在 Eclipse 中,我从源代码创建了一个项目,现在它显示错误 - “R 无法解析为变量”。从我在这里找到的内容来看,我已经清除并重建了项目,但 R 文件仍然没有出现在 /gen 文件夹中。
有任何想法吗?
在 Eclipse 中,我从源代码创建了一个项目,现在它显示错误 - “R 无法解析为变量”。从我在这里找到的内容来看,我已经清除并重建了项目,但 R 文件仍然没有出现在 /gen 文件夹中。
有任何想法吗?
不用担心。首先你可以清理项目,然后运行项目。如果这不起作用,请点击以下链接:
如果 Clean/Rebuild Project 不起作用,请尝试在 AndroidManifest.xml 中检查我们的包名称。
当您在 AndroidManifest.xml 文件中更改包名称时,会出现“R 无法解决”的问题。它使用您的 Android 包名称在“gen”目录下创建一个子目录,用于存储 R.java 文件。
对我来说,通过在 Android SDK Manager 中进行一些更改来修复错误。
无论是可用的最新 API 级别,安装其“SDK 平台”。对我来说,最新的 API 级别是 16,所以我安装了它的 SDK 平台,如下图所示。它现在工作正常。
干杯,马扬克
你是不是同时更新了sdk和adt(从21到22),那么你需要安装一个新项目:Android SDK Build-tools
对我来说,项目属性;安卓; 未设置项目构建目标。我在那里选择了一个Android版本(例如4.2)并修复了它。
对我来说,向“R”文件有问题的人建议的最佳解决方案是尝试接下来的步骤(顺序无关紧要):
更新 ADT & SDK 、 Eclipse 和 Java。
删除 gen 文件夹,然后重新创建它。
做一个干净的项目。
右键单击项目并选择 android-tools -> fix-project-properties 。
右键单击项目并选择属性 -> java-build-path -> order-and-export。确保顺序是:
Android 4.3(始终是最新版本)
Android 私有库
安卓依赖
如果需要,您的图书馆项目
yourAppProject/gen
yourAppProject/src
确保 res 文件夹的子文件夹中的所有文件的名称都可以:只有小写字母、数字和下划线 ("_")。
始终确保 targetSdk 指向最新的 API(当前为 18),并将其设置在 project.properties 文件中
对我来说,我的 SDK 末尾缺少一个斜线。在 Eclipse > 首选项 > Android > SDK 位置
例如,改变
/home/matt/android-sdk-linux
至
/home/matt/android-sdk-linux/
您的 android 清单必须以正确的包开头
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="HERE - Correct package NAME"
android:versionCode="1"
android:versionName="1.0" >`
What you really need to do it just install "build-tools" from sdk manager, and r.java will be generated automatically.
我遇到了类似的问题和解决方案,我发现资源中的任何文件(即背景、声音等)都不得包含大写字母或除 _ 之外的任何特殊符号
我有同样的错误。错误是,我在 res/raw 文件夹中放置了一个文件名无效的文件。一旦我将文件名更正为有效文件名,错误就解决了!
命名文件的允许字符:-
1. a-z
2. . _
3. 0-9
4. no capital letters
大写字母是我的问题!
我通过在 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 clean Project->Clean 检查您要清理的项目。
希望能帮助到你 :)
您的 *.xml 文件中可能有错误:布局等。
我遇到了这个问题,其他指南都没有帮助,然后我意识到我的系统上没有安装 java jdk。如果您还没有这样做,请下载与您安装的 eclipse 版本相对应的版本(x86 或 x64)
我在尝试从 Google 的“第一课”运行 Notepadv3 程序时发现了这个问题。
对我来说,由于我使用的 API 级别,这是 xml 文件的问题。我将 Match_Parent 的每个 case 重命名为旧类型的 Fill_Parent。哦,如果您已经自动构建了项目,那么您需要删除 NoteEdit.java 和 Notepadv3.java 上的“import android.R”,在保存之前清理项目(单击“项目”,然后单击“清理...”) .
为我解决了。来自这篇文章Android NDK r4 san-angeles 问题
不敢相信谷歌没有警告这个问题 - 我一直在设置另一台 PC 来重新开始编程,即使有一点先验知识,这也很痛苦。导入现有项目时如何设置 API? ?? 当您“文件”“导入”等时,看不到任何对话选项。
斯坎帕雷利
检查androidmanifest.xml
文件和布局文件夹 xml 文件。它们应该被正确地创建,因为 xml 中的开始和结束子句应该被正确放置。更新文件,清理并构建。一切就绪!
尝试修改 AndroidManifest 文件。
例如添加空间和删除这个空间。在此操作之后,保存项目。资源将被刷新。它可以提供帮助。
有时您可能会不小心将导入添加到“R”,因此,如果在代码顶部您看到一些奇怪的导入,说明您没有自己添加,请删除引用,一切都会恢复正常
我的问题很奇怪,花了一些时间才找到。不知何故,src 文件的包发生了变化,因此包中的最后一个条目被删除了。例如,最初我的 MyActivity.java 类位于包 com.abc.client.test.app 中,但在添加用户权限后,应用程序被删除,包重命名为 com.abc.client.test。我不知道它是怎么发生的。重命名包并将java文件放在正确的位置解决了这个问题。
当其他解决方案失败时,选择您的项目并将其删除。确保不要从磁盘中删除文件。
然后使用file>import>existing android code into workspace,并选择你的项目的位置。
我的设置在最近更新后被破坏,SDK 构建工具需要在 SDK 安装后单独安装。所以构建工具更新 + Eclipse 重启为我解决了这个问题。
归功于此处的Android 回复
在我的情况下,R.java 没有生成是因为分层父错误,而这又被更新的一个或多个 Eclipse 插件修复(Go Eclipse-->Help-->Check for Updates)
我知道这是一个老问题,但我刚刚解决了我自己的版本,也许这可能对某人有所帮助。
在用这个撕掉我的头发两天后,我终于通过删除raw
文件夹来解决它,然后重新创建它并将文件放回原处。
在那之后,另一个Project > Clean
,它终于编译了。
项目 > 清洁...
通常会重新生成位于 gen/com.mypackage 中的 R.java 文件
问题是 Eclipse 没有生成 R.java。要解决此问题,请转到项目->清理...并选择您的项目并选择确定,然后清理并构建项目并导入您的包名称 R 文件(例如 com.demo.R)。有用。
当不遵循 android 命名约定时,可能会发生这种情况。检查您是否已将文件/照片放入其中一个 android 文件夹并确保文件名仅包含小写字母
当我重命名一个项目时,我得到了这个。尽管该项目已重命名,但某些引用并未重命名。清除 lint,然后重新运行 lint 有帮助。(右键项目 > Android 工具 > 清除 Lint Markers,然后运行 Lint)
将 js 文件添加到 res 文件夹时出现此错误。
在 res 文件夹图标上设置了错误指示器。在我使用 RI 的所有课程中都出现了这个错误。
我将 js 文件移动到 assets 文件夹中,一切正常。
我一直有这个,我确实将它追溯到布局文件。它再次发生在我身上,但是我在布局文件中找不到注释。我查看了 string.xml 并找到了它.. 其中一个字符串名称以 cap 开头,这导致了问题。
修复 /res/menu 文件夹中 XML 文件中的任何 XML 格式错误。
可能是 XML 文件格式不正确导致的编译时错误。