如何创建嵌套的android库依赖项

时间:2014-01-13 17:14:38

标签: java android actionbarsherlock android-library

我在我的应用程序中使用ActionBarSherlock,并为从ABS实体子类化的所有活动和片段类提供基类。我想将这些基类提取到他们自己的库项目中,以便在多个应用程序中使用。

目前我的项目如下: MainProject   - 使用ActionBarSherlock   - 使用LibraryB   - 使用libraryC

我想按如下方式构建我的代码: 我的图书馆   - 使用ABS   - 使用LibraryB   - 使用LibraryC

MainProject1   - 使用MyLibrary

MainProject2   - 使用MyLibrary

顶级项目需要访问ABS,LibraryB和LibraryC名称空间中的类。例如,在sublcassed活动中com.actionbarsherlock.view.Menu/MenuItem。如果可能的话,我想在主项目中只包含一个任何图书馆项目的副本。

这种设置是否可行或合理?

搜索有关Android嵌套库项目的信息信息已经提供了相互矛盾的信息,但链接到我错过的SO帖子并使我的问题看起来很愚蠢,这些都是赞赏和实际答案。

感谢

1 个答案:

答案 0 :(得分:0)

是的,这是可行的,我在我的应用程序中使用这种类型的层次结构。

基本上我有一些“前端”应用程序:

:MyApp
:MyApp1
:MyApp2

和“核心”模块(这是一个android-library模块)

:Core
:Core:dependencies (modules dependencies)
:Core:libs (jars)

使用Gradle我在我的Core模块中编译了一些aar:

compile 'com.android.support:support-v4:19.0.0'
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'

每个应用(MyApp,MyApp1,MyApp2)都使用Core模块,可以使用ABS和我的Core模块中包含的所有其他库。

我建议你看看Gradle。这是处理依赖关系的一种干净而强大的方法。

http://tools.android.com/tech-docs/new-build-system/user-guide