如何在非 GUI 服务器环境中 运行 libGDX 应用程序?
How can I run a libGDX application on a non-GUI server environment?
我构建了一个 libGDX 应用程序 运行 在我的 PC 桌面上运行良好,但是当我尝试 运行 它在我的 Ubuntu 服务器上时,它引发了以下问题错误:
"LwjglApplication: Couldn't initialize audio, disabling audio
java.lang.UnsatisfiedLinkError: /tmp/libgdxroot/31ce78a2/liblwjgl64.so: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/../lib/amd64/libjawt.so: symbol awt_Unlock, version SUNWprivate_1.1 not defined in file libmawt.so with link time reference".
我知道这是因为我的服务器 运行ning 处于非 GUI 模式。但是在这种环境下我如何 运行 我的 libGDX 应用程序?。我听说过 "libGDX headless backend"。但我不知道如何使用它。
提前致谢。
我已经为任何正在寻找这个问题的人回答了这个问题。
首先,在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 return继承自HeadlessApplication
我构建了一个 libGDX 应用程序 运行 在我的 PC 桌面上运行良好,但是当我尝试 运行 它在我的 Ubuntu 服务器上时,它引发了以下问题错误:
"LwjglApplication: Couldn't initialize audio, disabling audio java.lang.UnsatisfiedLinkError: /tmp/libgdxroot/31ce78a2/liblwjgl64.so: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/../lib/amd64/libjawt.so: symbol awt_Unlock, version SUNWprivate_1.1 not defined in file libmawt.so with link time reference".
我知道这是因为我的服务器 运行ning 处于非 GUI 模式。但是在这种环境下我如何 运行 我的 libGDX 应用程序?。我听说过 "libGDX headless backend"。但我不知道如何使用它。 提前致谢。
我已经为任何正在寻找这个问题的人回答了这个问题。 首先,在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 return继承自HeadlessApplication