Android& Eclipse将现有应用程序复制到新项目中会产生一个有趣的R.

时间:2010-12-07 18:05:21

标签: java android

我正在尝试创建我编写的应用程序的试用版。我复制了我的主项目,然后将其粘贴为一个新名称的新项目。然后我重构(附加试用版)到我的活动,然后我修复因此而出现的任何错误。项目编译完成后,我尝试运行该应用程序。

当我尝试在模拟器上运行试用版时,如果我以编程方式访问“R. *”,我的应用程序找不到任何资源(绘图,样式等)。如果我的应用程序启动了一个硬编码样式的活动,那么工作正常(除了缺少drawable)。

另外,我不确定如何映射资源,但是当我为每个项目打开生成的R.java时,它们是相同的!从我的试用版应用程序抛出的错误说“找不到xyz的资源”,异常显示的id与生成的R.java中的id不同。

任何人都有任何想法,我怎么能让这个工作?

感谢。

*的 加成 ** 所以我忘了提到我的目标版本是Android 1.5(api版本3)。我刚刚将目标版本更新为4并且工作正常......我想以1.5为目标......任何人都会体验到这一点?感谢。

2 个答案:

答案 0 :(得分:0)

查看gen /文件夹,看看正在生成什么包R.java。代码中对R.java的所有引用都必须显式或隐式地显示在其实际的当前包名中。

如果没有在你想要的包中生成R.java,说服eclipse“移动”它可能会很棘手。似乎工作的是制作主java源文件的副本,并将其重命名/重定位到您希望R.java所在的包名,然后删除原始文件。

加上项目清理和重建应该让事情再次发挥作用。

答案 1 :(得分:0)

对我来说,这是我发现的最佳工作解决方案: Android - copy existing project with a new name

好像您首先必须更改清单中的名称,然后 主程序包名称(使用重构)和终于重命名清单中的应用程序名称。