【问题标题】:How would you write a library to be used on android?你将如何编写一个在 android 上使用的库?
【发布时间】:2010-09-22 22:04:57
【问题描述】:

我已经使用 eclipse 和 opengl es 在 java 中编写了一个游戏引擎,我有一个项目(一个 android 项目)包含我的两个包

com.logic.engine
com.logic.testapp

我想要一种方法来让我的引擎和测试应用程序分开,我之前发表过一篇关于如何做到这一点的文章,并且我想出了如何在另一个项目的构建路径中引用一个项目(或者只是创建一个 jar文件)。

我的问题是,假设我现在将我的引擎全部封装在一个android项目com.logic.engine中,现在有人想使用这个引擎来创建一个游戏,所以他们创建了一个android项目com.someclient.game,现在好了,因为我们有一个 android 项目引用另一个,它每次都崩溃。

现在显然我需要引擎包中的 android sdk 来引用事物,但客户端应用程序也需要它,因为活动实际上是由 android 运行的。

我想我的问题是,我怎样才能为我的游戏引擎创建一个项目没有它是一个 android 项目,但仍然引用android sdk,并且不会导致使用它的客户端应用程序崩溃?

编辑:

注意:当客户端应用程序在同一个项目文件夹中时,它完美地利用了引擎,直到引擎从另一个包含 android sdk 的项目中引用它才会崩溃,所以我 99.9% 肯定它有与我的代码无关

【问题讨论】:

  • 不确定我是否理解您的问题。无论如何,当你创建一个普通的 java 项目或通用项目时会发生什么?
  • 崩溃怎么办?从另一个包中引用代码应该不是问题。
  • 我想过这个,但我想确保有一种方法可以创建一个常规的 java 项目,仍然包含 android sdk(我相信它只是“android.jar”文件?但我是'不确定一个java项目是否会导入windows特定的api,在这种情况下我不确定android应用程序会接受它,我可能是错的,但我是一个c程序员,我对java不太熟悉
  • Mayra,我认为它崩溃了,因为我有一个 android 项目引用了另一个 android 项目,所以我认为清单文件之间存在冲突,但我无法删除它,因为它在所有 android 项目中都是必需的

标签: android eclipse


【解决方案1】:

您的游戏引擎项目应该是一个 Android 库项目。见Working with library projects

【讨论】:

  • 谢谢,非常简单的解决方案,这正是我需要的:)
【解决方案2】:

【讨论】:

    【解决方案3】:

    只是修复了上面两个不再起作用的链接

    Android Library Project

    Example Library Tut

    【讨论】:

      猜你喜欢
      • 2011-01-14
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 2010-10-29
      • 2011-02-27
      • 2011-05-28
      • 2015-12-01
      • 2010-10-26
      相关资源
      最近更新 更多