在Eclipse中引用Android库项目的推荐方法是什么?

时间:2013-01-18 20:57:48

标签: android eclipse

当我学习Android开发(通过Eclipse)时,有一件事让我感到沮丧,就是让Android应用程序项目引用Android库项目以便可靠地工作。有时app项目不会因为缺少在库中定义的类引用而构建,有时它会构建但在运行时崩溃并引用库中定义的类,并带有错误链接

java.lang.NoClassDefFoundError: com.dave.customviewtestlib.LibTestClass

显示在logcat中。

我正在使用Android Developer Tools Build:v21.0.1-543035

我创建了一个工作区,其中最简单的Android应用程序项目引用了最简单的Android库项目。我究竟应该如何在Eclipse中将它们绑在一起?他们自己都很好。然后我编辑Android应用程序项目的“Java Build Path”。令人困惑的是,似乎有很多方法可以参考图书馆项目。有时一种方式有效,然后它停止工作,另一种方式在开始工作之前不起作用。我应该

  1. 在app项目的Java Build Path中项目,“添加”库 项目,或
  2. 在app项目的Java Build Path中库,“添加Jar”并指向包含库的类和其他资源的.jar,或
  3. 在app项目的Java Build Path中库,“添加类文件夹”并指向包含类的库项目的“bin”文件夹,或
  4. 在app项目的Java Build Path中源,“添加文件夹”并指向库项目的源文件夹,或
  5. 别的什么?
  6. 此外,还有神秘的Java Build Path |订单和导出选项卡。这是什么意思?

    我还有一个相关的问题:这些所谓的Android库就像静态库(你在构建时引用它们,代码被吸入,在运行时它只是app二进制文件的一部分),或者像动态一样库(它们可以单独安装在设备上)?我理解它是所有Java,所有类都是在运行时由类加载器加载的,但我认为仍然有一个重要的区别。大多数教程和参考文献都是如此愚蠢,获得答案是没有希望的。

    任何帮助都会有助于减少我的烦恼:)

1 个答案:

答案 0 :(得分:2)

在包浏览器视图中:

右键单击库项目 - >项目属性 - > android标签

检查:是图书馆。

右键点击Android项目 - >项目属性 - > android标签

单击“添加”按钮,然后从列表中选择您的库项目。

为了回答你“静态问题”和Android库项目和jar'd库之间的区别是android工具自动修复项目的资源(xml)引用(生成的R文件等),然后它包将类转换为.jar文件并将其添加到项目的apk中。所以它是静态的。

关于构建路径和订单以及导出标签。您可以在构建路径中添加:.jar文件,工作区中的其他项目以及项目的其他源文件。从中可以看到订单/导出选项卡,您可以选择项目的jar文件(或Android项目中的apk)静态包含哪些库/类文件。

相关问题