1

NetBeans IDE を使用して、LibGDX を使用するアプリケーションを Andriod で実行しようとしています。しかし、何らかの理由でゲームがクラッシュし、アプリケーションを実行しようとすると「このアプリケーションは動作を停止しました」というメッセージが表示されました。PC ではすべてがうまく機能するので、どうやら Android のセットアップで何かを見逃しているようです。NetBeans での Android プロジェクトのセットアップは文書化された領域ではなく、Eclipse では状況が異なるようです。

誰かが Netbeans でプロジェクトをセットアップして LibGDX を android で実行できた場合は、実行した手順を共有してください。

いくつかのコード、私はそれが助けになるとは思わない:

public class Game extends AndroidApplication {
    public void onCreate (android.os.Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            initialize((ApplicationListener) new game.GameSystem(new Size2i(100, 100)), false);
    }
}

私が得るデバッグ出力は次のとおりです。

D/dalvikvm(  478): Trying to load lib /data/data/com.RPGGame/lib/libgdx.so 0x40515708
D/dalvikvm(  478): Added shared lib /data/data/com.RPGGame/lib/libgdx.so 0x40515708
D/dalvikvm(  478): No JNI_OnLoad found in /data/data/com.RPGGame/lib/libgdx.so 0x40515708, skipping init
D/AndroidRuntime(  478): Shutting down VM
W/dalvikvm(  478): threadid=1: thread exiting with uncaught exception (group=0x40015560)
E/AndroidRuntime(  478): FATAL EXCEPTION: main
E/AndroidRuntime(  478): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.RPGGame/com.RPGGame.MainActivity}: java.lang.ClassCastException: game.GameSystem
E/AndroidRuntime(  478):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
E/AndroidRuntime(  478):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
E/AndroidRuntime(  478):    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
E/AndroidRuntime(  478):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
E/AndroidRuntime(  478):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(  478):    at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(  478):    at android.app.ActivityThread.main(ActivityThread.java:3683)
E/AndroidRuntime(  478):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(  478):    at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(  478):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/AndroidRuntime(  478):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime(  478):    at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(  478): Caused by: java.lang.ClassCastException: game.GameSystem
E/AndroidRuntime(  478):    at com.RPGGame.MainActivity.onCreate(MainActivity.java:11)
E/AndroidRuntime(  478):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
E/AndroidRuntime(  478):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
E/AndroidRuntime(  478):    ... 11 more
W/ActivityManager(  104):   Force finishing activity com.RPGGame/.MainActivity
W/ActivityManager(  104): Activity pause timeout for HistoryRecord{40512238 com.RPGGame/.MainActivity}
D/dalvikvm(  408): GC_EXPLICIT freed 8K, 54% free 2537K/5511K, external 1625K/2137K, paused 102ms
W/ActivityManager(  104): Activity destroy timeout for HistoryRecord{40512238 com.RPGGame/.MainActivity}
D/dalvikvm(  420): GC_EXPLICIT freed 324K, 55% free 2532K/5511K, external 1625K/2137K, paused 183ms
D/dalvikvm(  322): GC_EXPLICIT freed 9K, 55% free 2589K/5703K, external 1625K/2137K, paused 72ms

したがって、基本的にgame.GameSystemをApplicationListenerにキャストできません。GameSystem が ApplicationListener を実装している場合でも。

GameSystem は PC で意図したとおりに動作します。Andriod プロジェクトで私が行ったのは、そのコードをメイン ファイルに入れることだけでした。

4

1 に答える 1

0

さて、私は今それを解決しました、間違ったバージョンのgame.GameSystemを使用したことが判明しました.

于 2012-09-30T22:51:20.193 に答える