1

Libgdxを使用してAndroidアプリケーションを開発しています。これまでのところすべてが順調に進んでいますが(エミュレーターでデバッグしてきました)、デスクトッププロジェクトをセットアップする必要があり、アプリをより高速にテストできるようになりました(エミュレーターで実行する代わりに、デスクトップアプリでテストできます)。

ウィキが言うように、デスクトップバージョンを追加してセットアップを行いましたが、これまでのところすべてが順調に進んでおり、コンパイラエラーはありません。しかし、デスクトップアプリを起動しようとすると、ウィンドウを開かずに次のエラーが発生します。

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が見つからない理由がわかりません(ネットワーク機能を使用していないため、なぜ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プラグインを追加したところ、問題は解決しました。Gradleプラグインは、このリンクhttp://estiloasertivo.blogspot.com/2013/03/tutorial-howto-install-and-configure.htmlの指示に従って追加できます。

于 2014-07-11T21:22:18.450 に答える