在我现有的Android项目中使用Library项目(在Eclipse中)的优点和缺点是什么?

时间:2014-05-06 14:16:27

标签: android eclipse library-project

我正在开发一款Android应用,我想在其中添加即插即用模块功能,说我有两个android项目

  

[A]使用相机拍摄图像并将其存储在内存中的应用程序

     

[B]启用地图并找到当前位置。

现在我想在我的另一个Android应用中添加此功能。继续through android developer linkAndroid Library Projects - Tutorial我发现要使用即插即用模块我必须将我的上述项目作为库项目所以我可以在我的新应用程序中使用它,现在我的问题是

  

1这是使用库项目添加即插即用模块的唯一方法   功能上在我的应用程序或还有另一种方式吗?

     

2使用库项目添加的优缺点是什么   即插即用功能模块?

基本上我正在研究如何在我的Android应用程序中添加即插即用服务并尝试找到最佳解决方案,因此任何关于此主题的清晰度都将极为有用!!!

提前致谢!!!

1 个答案:

答案 0 :(得分:1)

另一种方法是使用链接的源文件夹。在Eclipse中,您可以在Java Build Path部分的项目设置中进行设置。您可以在项目外部选择一些实际上位于项目空间中的源代码目录(使用它的其他项目也会这样做)。当我与一两个应用程序一起共同开发模块时,我发现这只是从IDE UI的角度来看很方便。我对图书馆项目的不满意之处在于,他们有时无法在项目中正确更新,因此您必须重建项目和项目或清理项目以继续。此外,该模块更简单,因为它只是源代码文件的目录,而不是整个Eclipse项目。

图书馆的另一个缺点是他们可能会引入可能令人头痛的冲突。例如,您的库中可能包含与您的主项目不同的Android兼容性库版本,因此会给您编译时错误。或者有时会出现重复库的错误,你必须对项目的订单和导出设置感到愚蠢。

如果您的模块将依赖于实现该模块的所有应用程序通用的字符串,布局和图像资源等,那么库项目将更容易使用,因此您没有通过模块的类构造函数传递所有资源,并在每个项目中复制它们。

第三个选项是Gradle,虽然据我所知,这实际上只是帮助自动化上述两个选项中的一个。我对Gradle不太熟悉。