作为我在eclipse中开发的Android应用程序的一部分,我需要将来自不同项目的两个包组合到一个项目中。我尝试将第二个项目的包中的文件复制到第一个文件夹的src文件夹下,并将第二个包所需的其他文件复制到第一个项目的res文件夹中。
但是自动生成的Java文件即R.java在复制时没有更新。我尝试右键单击项目并单击Android工具 - >修复项目属性。但没有改变。
答案 0 :(得分:4)
我希望通过 linked folder 添加第二个源目录 (特别是因为他们now support relative path(3.5),如下图所示(仅限3.6)
alt text http://img411.imageshack.us/img411/1299/dynamicpathvariables.png)
另一种解决方案是在第一个项目的“项目依赖项”中添加第二个项目。
alt text http://img24.imageshack.us/img24/9511/eclipsebuildpath.png
答案 1 :(得分:1)
我遇到了VonC的方法在运行时生成强制关闭noclassdeffounderror的困难,因为引用外部项目并不能使该类可用于运行时。也许我没有正确地做到这一点,但我发现了一个不同的解决方案:
将您需要组合的两个项目放在同一工作区中并打开它们。将一个项目设置为一个库,并在另一个项目中引用该库" main"项目,如下所示: http://developer.android.com/guide/developing/projects/projects-eclipse.html
不要忘记在主项目的清单中声明您在库项目中使用的任何应用程序。
答案 2 :(得分:-1)
您不必诉诸于导入或交叉引用项目。
据我所知,R.java文件是从res。
中的XML文件生成的具体来说,它是基于布局中的“id”和strings.xml文件中的“name”创建的。 (可能有其他事情可以做到,但这就是我所知道的。)
也许,在复制文件时,您的ID不会使用“+”格式化,如果它们尚不存在,则会鼓励创建值。
例如,布局中的TextView将包含:
<TextView
android:id="@+id/author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
对于新的价值创造至关重要。
将基本编辑放入xml文件,保存,然后撤消编辑并再次保存也可能有所帮助。保存可能会触发Eclipse插件重新生成R.java文件。