我构建了一个在我的 PC 桌面上运行良好的 libGDX 应用程序,但是当我尝试在我的 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".
我知道这是因为我的服务器在非 GUI 模式下运行。但是我怎样才能在这个环境中运行我的 libGDX 应用程序呢?。我听说过“libGDX headless 后端”。但我不知道如何使用它。 提前致谢。
最佳答案
我已经为任何正在寻找这个问题的人回答了这个问题。 首先,在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 的继承
关于java - 如何在非 GUI 服务器环境中运行 libGDX 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30789626/