在Eclipse上创建Android模块化应用程序

我目前正在移植一个框架,用于在J2ME上构建Android应用程序。 该框架由几个编译到库(jar)的项目组成。 每个JAR都可以包含图形数据(资源,J4ME屏幕等)。 每个项目通常都有一个明确定义的入口点(模块)。 当有人想使用框架构建应用程序时,他必须只创建一个Midlet项目并添加库依赖项并使用导入的类。

我们一直在使用相同的方法来开发Android框架。 在这种情况下,我们只使用Eclipse中的普通Java项目来编译jar库。 这些项目与Android Framework(android.jar)有依赖关系。 构建新应用程序时,我们在Eclipse中创建一个Android项目并添加依赖项。

我们的下一步是为Android构建更高级的模块,这些模块还可以包含图形信息(活动,对话,文字,绘图等)。 到目前为止,只需要一个Android Eclipse项目(最终应用程序),它包含所有与图形相关的类和资源。 似乎在使用资源(文字,绘图等)时,唯一的方法是创建一个Android应用程序,因为资源只能通过ADT插件(R.XXX)自动创建的整数处理程序来引用。 因此,可能无法通过普通的Java jar项目构建图形模块。

Android开发人员信息解释说模块化应用程序是可行的,但我没有找到解释该过程的简明教程,但是一些提示,例如当应用程序调用其他应用程序提供的意图时如何防止错误发生。 在构建使用其他应用程序资源的应用程序时,这是有效的。 我不需要在系统上安装多个应用程序,但是需要从几个组件构建。

有没有人经历过类似的需求开发? 任何好的教程或提示开始?

似乎这里描述的唯一可用方式是由另一个问题的接受答案暗示的。

然而,解决方案是相当新的(它只适用于最新的Android SDK使用R6和SDK 2.0.X被排除在支持之外)。 它有一些重要的警告我希望谷歌已经在工作:

  • 没有二进制库链接 。 这意味着主应用程序需要访问源(在Eclipse中意味着打开所有链接的库项目)。
  • 资源名称(布局,绘图等)在全球范围内处理 。 这意味着如果您有两个“main.xml”布局,则只使用最相关的(库列表中最上面的)。
  • 缺少function/ BUG 。 该文档指出,库项目的导出活动必须仅在库项目的AndroidManifest.xml中声明。 这在当前版本中不起作用 。 TicTacToe示例中的注释暗示这是所需的工作,但对于Android Tools的当前版本,必须在主应用程序项目的AndroidManifest.xml中显式定义库项目中使用的活动。