0

私のプログラムは

03-05 02:21:57.127: E/dalvikvm(12583): Could not find class 'com.deerandcatgames.spikeJumper.GUI.OuyaTable$1', referenced from method com.deerandcatgames.spikeJumper.GUI.OuyaTable.<init>

デスクトッププロジェクトからAndroidで実行するたびに、正常に実行されます。

logcat を見ると、次のエラーが見つかります。

03-05 02:21:56.907: I/SpikeJumper(12583): Showing screen: SplashScreen
03-05 02:21:56.957: D/dalvikvm(12583): GC_FOR_ALLOC freed 23K, 5% free 7525K/7920K, paused 37ms, total 37ms
03-05 02:21:57.127: W/dalvikvm(12583): Unable to resolve superclass of Lcom/deerandcatgames/spikeJumper/GUI/OuyaTable$1; (347)
03-05 02:21:57.127: W/dalvikvm(12583): Link of class 'Lcom/deerandcatgames/spikeJumper/GUI/OuyaTable$1;' failed
03-05 02:21:57.127: E/dalvikvm(12583): Could not find class 'com.deerandcatgames.spikeJumper.GUI.OuyaTable$1', referenced from method com.deerandcatgames.spikeJumper.GUI.OuyaTable.<init>
03-05 02:21:57.127: W/dalvikvm(12583): VFY: unable to resolve new-instance 992 (Lcom/deerandcatgames/spikeJumper/GUI/OuyaTable$1;) in Lcom/deerandcatgames/spikeJumper/GUI/OuyaTable;
03-05 02:21:57.127: D/dalvikvm(12583): VFY: replacing opcode 0x22 at 0x0016
03-05 02:21:57.127: I/dalvikvm(12583): Could not find method com.badlogic.gdx.controllers.Controllers.removeListener, referenced from method com.deerandcatgames.spikeJumper.GUI.OuyaTable.dispose
03-05 02:21:57.127: W/dalvikvm(12583): VFY: unable to resolve static method 2760: Lcom/badlogic/gdx/controllers/Controllers;.removeListener (Lcom/badlogic/gdx/controllers/ControllerListener;)V
03-05 02:21:57.127: D/dalvikvm(12583): VFY: replacing opcode 0x71 at 0x0007
03-05 02:21:57.127: W/dalvikvm(12583): Unable to resolve superclass of Lcom/deerandcatgames/spikeJumper/GUI/OuyaTable$1; (347)
03-05 02:21:57.127: W/dalvikvm(12583): Link of class 'Lcom/deerandcatgames/spikeJumper/GUI/OuyaTable$1;' failed
03-05 02:21:57.137: D/dalvikvm(12583): DexOpt: unable to opt direct call 0x26b5 at 0x18 in Lcom/deerandcatgames/spikeJumper/GUI/OuyaTable;.<init>
03-05 02:21:57.187: D/dalvikvm(12583): GC_CONCURRENT freed 399K, 8% free 7578K/8236K, paused 3ms+5ms, total 29ms
03-05 02:21:57.257: I/SpikeJumper(12583): Setting up custom table
03-05 02:21:57.257: W/dalvikvm(12583): threadid=11: thread exiting with uncaught exception (group=0x418a3930)
03-05 02:21:57.257: E/AndroidRuntime(12583): FATAL EXCEPTION: GLThread 19356
03-05 02:21:57.257: E/AndroidRuntime(12583): java.lang.NoClassDefFoundError: com.deerandcatgames.spikeJumper.GUI.OuyaTable$1
03-05 02:21:57.257: E/AndroidRuntime(12583):    at com.deerandcatgames.spikeJumper.GUI.OuyaTable.<init>(OuyaTable.java:72)
03-05 02:21:57.257: E/AndroidRuntime(12583):    at com.deerandcatgames.spikeJumper.screens.AbstractScreen.getTable(AbstractScreen.java:84)
03-05 02:21:57.257: E/AndroidRuntime(12583):    at com.deerandcatgames.spikeJumper.screens.AbstractScreen.resize(AbstractScreen.java:52)
03-05 02:21:57.257: E/AndroidRuntime(12583):    at com.deerandcatgames.spikeJumper.screens.SplashScreen.resize(SplashScreen.java:49)
03-05 02:21:57.257: E/AndroidRuntime(12583):    at com.badlogic.gdx.Game.setScreen(Game.java:63)
03-05 02:21:57.257: E/AndroidRuntime(12583):    at com.deerandcatgames.spikeJumper.SpikeJumper.setScreen(SpikeJumper.java:61)
03-05 02:21:57.257: E/AndroidRuntime(12583):    at com.deerandcatgames.spikeJumper.SpikeJumper.resize(SpikeJumper.java:79)
03-05 02:21:57.257: E/AndroidRuntime(12583):    at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:334)
03-05 02:21:57.257: E/AndroidRuntime(12583):    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1505)
03-05 02:21:57.257: E/AndroidRuntime(12583):    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

OuyaTable は

public class OuyaTable extends Table {
....
}

考えられることはすべて試しましたが、それでも Android では動作しません。誰もこれを以前に見たことがありますか、および/またはそれを修正する方法を知っていますか?

4

3 に答える 3

1

さて、もう一度やり直しますが、エラーメッセージにもっと注意を払っています...わかりました:

Could not find method com.badlogic.gdx.controllers.Controllers.removeListener, referenced from method com.deerandcatgames.spikeJumper.GUI.OuyaTable.dispose

リンクが失敗した理由の1つとして。libgdxの「controllers」拡張機能を使用している必要があると思います...を追加する必要がありますgdx-controllers-android.jar。badlogicブログの「IntegrationIntoYourProject」セクションを参照してください:http ://www.badlogicgames.com/wordpress/?p = 2724

于 2013-03-05T17:40:34.467 に答える
0

gdx.jarプラットフォームに依存しないLibgdxクラスが含まれています)は、Android.APKにパッケージ化されていない可能性があります。(Android固有のLibgdxクラスとは異なり、パッケージ化されてgdx-backend-android.jarおり、.APKに組み込まれているようです。)

Androidプロジェクトがをエクスポートしていることを確認する必要がありますgdx.jarプロジェクトエクスプローラーでAndroidプロジェクトを右クリックし、[プロパティ] 、[ Javaビルドパス]の順に選択して、[注文とエクスポート]タブを選択します。gdx.jarとが両方とも「チェック」されていることを確認gdx-backend-android.jarしてください(共通のプロジェクトとともに)。

于 2013-03-05T05:49:45.403 に答える
-1

java=caca, adt=caca, eclipse=..... 私はこの問題を抱えており、数時間怒った後、メインプロジェクト (チュートリアルのスターアサルト) を Java 1.7 から Java 1.6 に変更することで解決しました.. .

于 2013-04-08T21:36:25.537 に答える