【问题标题】:How can I run a libGDX application on a non-GUI server environment?如何在非 GUI 服务器环境中运行 libGDX 应用程序?
【发布时间】:2015-08-27 16:05:00
【问题描述】:

我构建了一个在我的 PC 桌面上运行良好的 libGDX 应用程序,但是当我尝试在我的 Ubuntu 服务器上运行它时,它会引发以下错误:

"LwjglApplication: 无法初始化音频,禁用音频 java.lang.UnsatisfiedLinkError:/tmp/libgdxroot/31ce78a2/liblwjgl64.so:/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/../lib/amd64/libjawt.so:符号awt_Unlock,版本 SUNWprivate_1.1 未在文件 libmawt.so 中定义链接时间参考”。

我知道这是因为我的服务器在非 GUI 模式下运行。但是我怎样才能在这个环境中运行我的 libGDX 应用程序呢?我听说过“libGDX 无头后端”。但我不知道如何使用它。 提前致谢。

【问题讨论】:

  • 假设您确实希望出现一个屏幕,那么您不希望 libGdx 无头后端 - 这主要用于单元测试目的。
  • 我希望我能显示一个屏幕先生。但看起来我的 vps 不允许。

标签: java linux ubuntu libgdx server


【解决方案1】:

我已经为任何正在寻找这个问题的人回答了这个问题。 首先,在 build.gradle 文件中添加这两个库:

compile "com.badlogicgames.gdx:gdx-backend-headless:$gdxVersion"
compile "org.mockito:mockito-all:1.9.5"

然后,我启动了我的 libGDX,如下所示:

HeadlessNativesLoader.load();
MockGraphics mockGraphics = new MockGraphics();
Gdx.graphics = mockGraphics;
HeadlessNet headlessNet = new HeadlessNet();
Gdx.net = headlessNet;
HeadlessFiles headlessFiles = new HeadlessFiles();
Gdx.files = headlessFiles;
Gdx.gl = mock(GL20.class);
HeadlessApplicationConfiguration config = new HeadlessApplicationConfiguration();
ApplicationListener myGdxGame = EntryPoint.getHeadlessMyGdxGame(config);

和 EntryPoint.getHeadlessMyGdxGame 返回 HeadlessApplication 的继承

【讨论】:

  • 我无法解析 EntryPoint 类。你有 HeadlessApplication 的运行示例吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-06
  • 2010-09-08
  • 2022-11-24
  • 2014-04-03
  • 1970-01-01
  • 2023-03-15
相关资源
最近更新 更多