我在我的应用程序中使用ActionBarSherlock,并为从ABS实体子类化的所有活动和片段类提供基类。我想将这些基类提取到他们自己的库项目中,以便在多个应用程序中使用。
目前我的项目如下: MainProject - 使用ActionBarSherlock - 使用LibraryB - 使用libraryC
我想按如下方式构建我的代码: 我的图书馆 - 使用ABS - 使用LibraryB - 使用LibraryC
MainProject1 - 使用MyLibrary
MainProject2 - 使用MyLibrary
顶级项目需要访问ABS,LibraryB和LibraryC名称空间中的类。例如,在sublcassed活动中com.actionbarsherlock.view.Menu/MenuItem
。如果可能的话,我想在主项目中只包含一个任何图书馆项目的副本。
这种设置是否可行或合理?
搜索有关Android嵌套库项目的信息信息已经提供了相互矛盾的信息,但链接到我错过的SO帖子并使我的问题看起来很愚蠢,这些都是赞赏和实际答案。
感谢
答案 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