首页 > 解决方案 > 如何组织 Android 应用程序以及单独的库

问题描述

我正在尝试编写一个 Android 库,以及一系列使用该库的示例应用程序。我想要的理想结构是:

projectname/
|-- examples/
|  |-- exampleapp1/
|  |-- exampleapp2/
|-- librarycode/

到目前为止,我只能弄清楚如何添加应用程序本身内的库(即 exampleapp1/librarycode),但我认为必须有一种方法来设置它。有人可以指出我正确的方向吗?谢谢。

标签: android

解决方案


我想说这个项目结构不是一个理想的方式。原因如下:

  1. Android Studio 不推荐超过 2 级的项目结构,因为这不容易管理和维护。如果你有很多库而不是只有一个怎么办?在回答您的问题时, Android Studio 仅适用于两级项目结构。

  2. 如果您的产品是一个 Android 库模块,那么从工程的角度来看,将其与使用该库的示例项目混合,使其成为一个独立项目实际上是正确的。

  3. 您的示例项目应该从客户的角度构建以使用您的库模块。客户使用您的库的方式应该对您的库项目结构完全透明。并且您的客户应该只看到您最终的库可交付成果,即.aar文件.jar

因此,对于您的情况,最好的选择可能是创建两个项目,一个是您的库项目,另一个是使用您的库的示例项目,我的意思是,以.aaror的形式.jar。优点如下:

  1. 您的库项目可以在您的示例项目上独立开发、编译和构建。

  2. 您始终可以从用户的角度使用您的示例项目,而无需担心库的任何内部细节,例如项目结构、依赖关系管理。

  3. 将您的库产品与用户开发环境分离将为您提供更好的软件配置管理体验。关键是不要完全混合它们!!!

具体来说,您的项目结构应如下所示:

示例项目结构应为:

examples/
|-- exampleapp1/
|-- exampleapp2/
|-- exampleapp3/

库项目结构应为:

projectname/
|-- library1/
|-- library2/
|-- library3/

推荐阅读