可能的Android项目取决于其他(非库)Android项目?

时间:2012-05-07 07:14:19

标签: java android eclipse dependencies buildpath

我有应用AB。我希望在A中使用一些方法B。这可能吗?

我尝试将项目A添加到B的构建路径中。编译器就可以了,但是我得到了运行时NoClassDefFoundError(对于项目A中第一个使用过的类)。 / p>

我正在使用Eclipse。

编辑:我需要的原因是因为我的项目B是项目A的测试。不可能测试通常的方式,因为在其他事情之间我必须测试AsynchTasks,这不起作用与JUnit。所以我认为制作包含自定义测试的普通Android项目B.但由于这似乎也没有用,我回到原来的测试项目并在那里实现了我的自定义/非JUnit测试。以一种丑陋的方式,但它的确有效。

1 个答案:

答案 0 :(得分:2)

您所描述的是Library Project。如果您拥有多个Android项目通用的源代码和资源,则可以将它们移动到库项目,以便更容易跨应用程序和版本进行维护。因此,如果您正在开发使用某些相同组件的多个相关应用程序,则可以将冗余组件移出其各自的应用程序项目,并在单独的库项目中创建一组可重用的相同组件。

因此,你所描述的几乎是几乎可能,但并不完全。 Eclipse不允许您将Android应用程序项目(即编译为.apk文件的项目)作为库项目引用,因此只需将项目A作为库项目并使B引用{{ 1}}无效。相反,你需要,

  1. Create新的图书馆项目A
  2. 将常用方法/类从项目CA移至库项目B
  3. 同时拥有CA reference图书馆计划B