在没有 Gradle 的情况下在 RoboVM 上设置 LibGDX(仅黑屏)

Setting up LibGDX on RoboVM without Gradle (getting black screen only)

我有一个工作的跨平台应用程序,在 RoboVM 下总是 运行 正常。我开始将应用程序的图形后端移至 LibGDX。在 LWJGL 下一切 运行 都很好,但我无法 LibGDX 在 RoboVM 上工作。

我真的不想安装和学习另一个构建工具或依赖管理的东西,所以我想让它工作 不必使用 Gradle.

这是我目前所做的:

其中 getApplicationListener() returns 与我的 LWGJL 应用程序中的对象相同。
此对象中的 create() 方法以 System.out.println("Hello?");.

开头

当我 运行 应用程序时,它启动(启动图像和所有)并开始播放一些声音效果(不使用 LibGDX!)但只显示黑屏。它打印 "Should be ready..." 但不打印 "Hello?"。因此,ApplicationListener 可以正常创建,IOSApplication 也可以正常创建,但是永远不会调用侦听器的 create() 方法。与往常一样,没有有用的(或任何与此相关的)错误消息...

我是不是漏掉了什么???

我非常确定 .a 文件包含在构建中,因为一旦我将 <libs> 部分添加到 robovm.xml,我就被构建错误淹没了我还添加了 <frameworks> 部分。我需要担心其他一些导出设置吗?有没有办法至少得到某种错误或日志消息?

更新:

如果我在模拟器中运行它,我也会黑屏。但是如果我点击黑屏,我会收到以下错误信息:

unexpected nil window in _UIApplicationHandleEventFromQueueEvent, _windowServerHitTestWindow: <UIClassicWindow: 0x7fafa27175b0; frame = (0 0; 375 667); userInteractionEnabled = NO; gestureRecognizers = <NSArray: 0x7fafa2514d70>; layer = <UIWindowLayer: 0x7fafa2718060>>

我将 LibGDX 测试项目导入到我的 Eclipse/RoboVM 设置中并且工作正常...

太蠢了:

主要 class 必须扩展 IOSApplication.Delegate 而不是 UIApplicationDelegateAdapter

浪费了 6 个小时......这就是为什么我讨厌使用外部库而不是尽可能接近金属的编码(因此我的 ):对于编写库的人来说,这样的琐碎的事情会立即变得自我理解、自动化和遗忘。因此:没有文档,没有有用的错误消息,没有其他检查和平衡。搜索“libgdx IOSApplication.Delegate”,看看您是否可以找到一个页面,上面写着这是您需要做的事情。它出现的唯一地方是在一些示例代码中,您的注意力会立即跳到方法的内容上,而不是从您的眼角看去与往常一样的样板……但我会停下来在这里...无论如何只有第二句话与这个答案真正相关...

但是,嘿,我们终于详细描述了如何在不使用 Gradle 的情况下将 LibGDX 添加到 RoboVM 中的现有项目...