【问题标题】:java desktop and android application at the same time - shared packagesjava桌面和android应用同时使用——共享包
【发布时间】:2013-09-12 13:25:35
【问题描述】:

我想创建一个具有两个版本的应用程序:一个用于桌面 - java 标准版,另一个用于 android。由于 GUI 将非常简单,并且大部分逻辑可能与平台无关(仅使用基本的 Java 包)。我当然想分享这个主要的核心部分。

因此问题: 我应该如何在 Eclipse 中构建我的项目? 3个项目:android、standardEdition、core?或者我可以将所有内容都放在一个具有两个不同目标平台的项目中吗?如果可以,该怎么做?

如何学习android和standardEdition项目来学习使用共享核心项目?

【问题讨论】:

  • 通用核心作为一个拥有自己的 API 并存储在 Jar 中的库是否有意义?如果是这样,那可能是最灵活的方法。会有一个项目来开发这个库,它的结果会被导入到一个 Android 应用程序项目和一个桌面应用程序项目中。

标签: java android eclipse


【解决方案1】:

我会使用 3 项目方法。正如您已经说过的,为核心制作一个单独的项目。 (API)

这样您也可以仅为核心创建单元测试,并且您的设置仍然看起来很干净。 您应该添加到“核心”项目中的是一个 ant 文件或类似的东西,以便从项目中生成一个 jar 文件,从而可以将您的核心导入到其他项目中。另一个优点是核心中使用的任何库都只需要在那里导入,因为核心的导入将使用这些。

【讨论】:

  • 感谢您的帮助。如何在 Eclipse 中自动创建 jar 文件?我知道如何手动进行,但当然最好在每次更改或定期执行后进行。 Eclipse 每 5 分钟生成一个新的 jar 文件。
  • 这个问题似乎比第一次看到的要复杂得多。我创建了两个项目:1)标准 android 应用程序 2)库 - 但是这里这个项目只是 java 应用程序,而不是 android 应用程序(因为它将在 java se 和 java android 之间共享)。
  • 接下来我从项目 2 中导出 jar 文件并将其导入到库下的项目 1 中。我还检查了构建路径(库和订单和导出选项卡,它们似乎没问题)。程序没有问题。但是,在 android 设备上运行它时,项目 2 中的所有类都是不可见的(致命异常,找不到类,无法解析超类)。
  • 只是看起来Android设备上的虚拟机无法查看所有库类。我试图找到解决方案,唯一可能成为答案一部分的线程在这里:stackoverflow.com/questions/12270493/… User BigBadaboom 建议将库创建为 Android 项目(在我的情况下为项目 2)并在属性中将其标记为库(复选框)。但是我不确定这是否是我的答案,因为那时库将不再是通用库集,而是 android 类型库。有什么帮助和建议吗?
  • BigBadaboom 没有建议将库创建为 android 项目,而只是建议对现有项目进行一些设置。不过,我不确定这将如何影响使用您的 API 的其他项目。我现在无法测试它。只需尝试他提到的方式并发布结果即可。在您的情况下,也许第二步“添加库”就足够了。
猜你喜欢
  • 2014-09-09
  • 1970-01-01
  • 1970-01-01
  • 2014-05-23
  • 2018-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多