从现有源创建android项目后缺少R类[重复]
Posted
技术标签:
【中文标题】从现有源创建android项目后缺少R类[重复]【英文标题】:R class missing after creating android project from existing source [duplicate] 【发布时间】:2011-03-15 00:30:05 【问题描述】:我下载了 SpriteMethodTest 的源代码,我想在 Eclipse 中构建它。所以我去了:
文件 >> 新建 >> android 项目 >> 从现有源创建项目 >> SpriteMethodTest
它创建了项目,但没有生成 R 类。任何在 R 中引用资源的文件都会显示 R cannot be resolved
。
导入 android.R 只会导致 R.drawable.background cannot be resolved
。如何再次生成 R?
【问题讨论】:
请注意,android.R
是与 the.package.name.of.your.app.R
完全不同的类
嗨,我也有同样的问题。我还从现有源创建新项目。我使用的源代码是来自 Android SDK 的示例代码。缺少 R。你修好了吗?
不,我从来没有这样做过。我在 Eclipse 上从来没有过好运气。
@Emerald214:我也遇到了同样的问题,我在下面发布了我的解决方案。
【参考方案1】:
您遇到问题是因为您正在导入 Android R
,而不是您的项目特定 R
。只需删除import android.R;
,然后将鼠标悬停在给出R cannot be resolved to a variable
的R 的引用上。从那里你可能会有几个不同的选项来导入 R。您想要导入 your 包中的 R。
【讨论】:
【参考方案2】: 在“gen”文件夹中创建空文件并将其命名为“R.java” 单击项目 --> 清理... 点击 Android 工具 --> 修复项目...【讨论】:
【参考方案3】:生成的 R 资源文件只有在它读取的文件可以编译的情况下才能由 eclipse 生成,这意味着文件(例如清单文件)中的错误会阻止编译。因此,首先解决您的错误(列在“问题”选项卡中),然后保存更改,然后应该会生成它。
它通常看起来与 API 版本有关的原因是因为不同的版本会导致兼容性错误。这通常发生在人们获取示例代码并且没有设置与代码创建者使用相同的 API 版本时。更改为正确的版本可解决错误并允许生成 R 文件。
【讨论】:
【参考方案4】:SpriteMethodTest 也有同样的问题。它与包名称或导入无关。正如 tarkeshwar 所说,如果没有生成 R,那么问题出在编译之前。在这种情况下,它是AndroidManifest.xml
。
清单中的最后一个标签是
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4"/>
但android:targetSdkVersion
不是受支持的属性。将行改为
<uses-sdk android:minSdkVersion="3"/>
这应该允许 Eclipse 生成 R 类。
【讨论】:
【参考方案5】:在我的环境中,android SDK 缺少文件夹平台工具,我必须启动 android 并安装平台工具。现在它正在工作。
【讨论】:
【参考方案6】:有类似的问题,似乎也是SDK版本引起的:
-
Project -->properties --> android:选择合适的API lvl并点击OK。
这导致最终生成了 R 类,但它还不会编译。
删除项目并再次导入(现在它具有 R 类)并进行了第一次尝试。
*在尝试查看蛇示例代码时发生。
【讨论】:
【参考方案7】:项目->清理(选择您的项目)->确定
这将触发重新构建,只要将项目配置为 Android 项目,就会重新生成 R.java。
【讨论】:
【参考方案8】:尝试以下方法:
删除gen文件夹 项目 => 干净 右键单击 => Android 工具 => 修复项目属性 右键单击 => 运行为... => Android 应用程序【讨论】:
嗯...这些都不起作用。 gen 文件夹始终为空。 在删除它并进行“修复项目属性”之后,Eclipse 会说什么? 什么也没说。 您从哪里获得SpriteMethodTest
src 代码?【参考方案9】:
R.java 未生成通常表示其他地方有问题,例如:Manifest.xml 有错误。
修复这些错误并重建。然后应该会生成 R.java。
如果仍然不存在,请执行项目 -> android -> 修复 android 设置。
【讨论】:
【参考方案10】:在项目文件夹中运行它为我修复了它
android update project -p .
我在创建新项目时关闭了“自动构建”,因此某些文件没有按应有的方式创建
【讨论】:
以上是关于从现有源创建android项目后缺少R类[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio - 使用从现有源创建项目向导时使用新筛选器而不是新文件夹