1

我正在使用 Libgdx 开发一个 Android 应用程序。到目前为止一切都很好(我一直在模拟器中调试),但我需要设置一个桌面项目,所以我可以更快地测试应用程序(所以不是在模拟器上运行它,我可以在桌面应用程序上测试它)。

我按照 wiki 的说明进行了设置,添加了桌面版本,到目前为止一切顺利,没有编译器错误。但是当我尝试启动桌面应用程序时,我收到以下错误,甚至没有打开窗口:

Exception in thread "main" java.lang.NoClassDefFoundError: com/badlogic/gdx/Net
    at DesktopGame.main(DesktopGame.java:12)
Caused by: java.lang.ClassNotFoundException: com.badlogic.gdx.Net
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)

DesktopGame.java 的第 12 行说:

new LwjglApplication(new UserStart(userID, appDefinitions), "Game", 1024, 600, false);

其中 UserStart 是 ApplicationListener(使用自定义构造函数,因为我需要几个参数,此设置在 Android 上运行良好)。我不知道为什么找不到 com.badlogic.gdx.Net(而且我不知道为什么它正在寻找它,因为我没有使用网络功能)。

有谁知道会是什么?谢谢!

4

2 回答 2

3

解决了!嗯,有点。我使用来自 libgdx 的设置 UI 创建了一个新项目,然后将创建的桌面项目复制到我自己的项目中。我注意到主要区别在于我为 LwjglApplication 使用的构造函数,现在在这种情况下,我没有传递参数,而是使用 LwjglApplicationConfiguration 调用构造函数:

LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
cfg.title = "MyGame";
cfg.useGL20 = false;
cfg.width = 480;
cfg.height = 320;

...
new LwjglApplication(new UserStart(userID, appDefinitions), cfg);

耶!我不确定这是否是主要问题,但至少现在有效。

感谢大家的评论和提示。

于 2013-01-26T21:55:18.843 回答
0

我刚刚为eclipse添加了gradle插件,我的问题就解决了。可以按照此链接http://estiloasertivo.blogspot.com/2013/03/tutorial-howto-install-and-configure.html上的说明添加 Gradle 插件

于 2014-07-11T21:22:18.450 回答