【问题标题】:What are Pros and Cons of using Library project(In Eclipse)in my existing Android project?在我现有的 Android 项目中使用库项目(在 Eclipse 中)的优点和缺点是什么?
【发布时间】:2014-05-06 14:16:26
【问题描述】:
我正在开发一个 Android 应用程序,我想在其中添加即插即用模块功能,假设我有两个 android 项目
[A] 使用相机捕捉图像并将其存储在内存中的应用程序
[B]启用地图并定位当前位置。
现在我想在我的另一个 Android 应用程序中添加此功能。在进行 through android developer link 和 Android Library Projects - Tutorial 时,我发现要使用即插即用模块,我必须将上述项目作为库项目,以便我可以在我的新应用中使用它,现在我的问题是
1 只有这样才能使用库项目添加即插即用模块吗
功能上在我的应用程序中还是还有其他方式?
2使用库项目的利弊是什么
即插即用模块的功能?
基本上我正在研究如何在我的 android 应用程序中添加即插即用服务并试图找到最佳解决方案,所以任何关于这个主题的清晰都会非常有帮助!
提前谢谢!!!
【问题讨论】:
标签:
android
eclipse
library-project
【解决方案1】:
另一种方法是使用链接的源文件夹。在 Eclipse 中,您可以在 Java Build Path 部分的项目设置中进行设置。您可以选择项目之外的一些源代码目录,该目录实际上将位于您的项目空间中(其他使用它的项目也会这样做)。当我与一两个应用程序共同开发一个模块时,我发现从 IDE UI 的角度来看这很方便。我不喜欢库项目的地方是它们有时无法在您的项目中正确更新,因此您必须重新构建它和您的项目或清理您的项目才能继续。此外,该模块更简单,因为它只是一个源代码文件目录,而不是整个 Eclipse 项目。
库的另一个缺点是它们可能会引入令人头疼的冲突。例如,您的库中的 Android 兼容性库的版本可能与您的主项目不同,因此会给您带来编译时错误。或者有时会出现重复库的错误,并且您必须对项目的 Order 和 Export 设置感到困惑。
如果您的模块将依赖于所有实现该模块的应用程序共有的字符串、布局和图像资源等,那么库项目将更容易使用,因此您不必通过通过模块的类构造函数输入所有资源,并在每个项目中复制它们。
第三个选项是 Gradle,尽管据我所知,它本质上只是帮助自动化上述两个选项之一。我对 Gradle 不是很熟悉。