1

也许我的方法是错误的,但这是我想要的:

  • 一个日志库,用纯 JAVA 编写
  • 它也应该适用于Android
  • 我想在 Android 和桌面应用程序中使用它

我尝试的方法取自 VS 和 C#,它被称为“多目标”——它基本上意味着一个模块与另一个模块共享源代码。

所以我的想法是创建4个模块:

  • 安卓应用
  • 安卓日志
  • 桌面应用
  • 桌面日志

日志记录的“实际工作”(大多数是纯 Android 兼容的 JAVA 类)将进入 AndroidLog(以防止我意外使用不在 Android SDK 中的类)。

Android App可以毫无问题地使用日志库,这就是我目前的做法。现在 DesktopLog 应该有一些AndroidLog 有的文件夹,基本上重复使用了相同的 JAVA 代码。

我尝试将 AndroidLog 中的源文件夹添加到 DesktopLog,但我收到一条错误消息,告诉我“根目录已经属于...”。我正在使用 SVN,但我认为这不是问题所在(实际上,我在没有 SVN 的情况下尝试了上述方法,但如果没有更简单的解决方案,它可能会提供一些解决方法)。

那么我如何让 IntelliJ:
在不同目标平台的不同模块之间共享 JAVA 文件。

谢谢你的提示,克里斯

PS:也欢迎搜索泪点“分享源码JAVA”对google不太友好。

4

1 回答 1

0

毫米。我认为你的做法是错误的。我会这样组织它:

  1. Common-Log - 一个通用 Java 包,包含 DesktopLog 和 AndroidLog 使用的类
  2. DesktopLog,依赖于 Common-Log
  3. AndroidLog,依赖于 Common-Log
  4. 桌面应用
  5. 安卓应用

试图在不同的子项目中同时引用来自单个项目的部分源代码树听起来很头疼;我认为,如果您遵循从两个 Logging 项目中提取公共支持类到单独的公共项目的方法,您将会有更多的运气。

于 2012-05-16T09:55:29.660 回答