Android R.java文件存在但在Eclipse中构建时存在问题

时间:2013-06-27 05:04:09

标签: java android eclipse

在重新命名我的活动包之前,我可以在Eclipse中构建我的Android项目而没有任何问题。

我从

移动了活动文件
com.example.MainActivity

com.example.activity.MainActivity

然后我继续更新AndroidManifest.xml文件以反映活动的正确类名。这就是我的.classpath看起来像

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>

每当我尝试构建我的项目时,都会说

R cannot be resolved to a variable

有趣的是,R.java文件夹中存在gen并且即使在我执行clean之后也始终生成它。这只是在我更改包名后才开始发生的。我已经看了一些开源应用程序,它们将Activities存储在一个单独的文件夹中,它们都导入了com.example.R。

因此,如果我决定将我的活动类放在com.example.activity而不是com.example中,我是否每次都必须手动导入com.example.R

3 个答案:

答案 0 :(得分:1)

使用Eclipse Refactor实用程序重命名它。

右键单击包名称 - &gt;选择重构 - &gt;改名。

重命名包名称。 Eclipse将自动更新此包的所有引用。

希望它对你有所帮助。

答案 1 :(得分:1)

if I decide to put my Activity classes in "com.example.activity" instead of "com.example", do I have to manually import com.example.R everytime?

手动导入R ......否......

可能的解决方案: -

  • 检查您的布局是否有任何问题,例如您使用 在com.example.CustomizeButton中自定义按钮并在您的。中定义 现在布局已经打包,确保标识符是正确的 在.xml中也是如此..
  • 同时查看问题部分,您会有所了解......窗口 - &gt;显示 查看 - &gt;问题..
  • 检查您的清单文件中的旧引用
  • 清理并构建您的项目(不用说......:P)
  • 重新启动eclipse作为最后的手段b'coz它强制工作区 再建一次

答案 2 :(得分:0)

呸!我的脑子一定是被炸了,不敢相信我错过了这个。所以是的,我现在必须手动导入R.java,因为它与我的活动所在的包不同。之前我没有必要这样做,因为R.java和MainActivity.java都在com.example下。现在R.java在

com.example

而MainActivity.java位于

com.example.activity