0

私はうまくいくと思った以下を見ましたが、うまくいきませんでした。

メソッド XXX から参照されているクラス XXX が見つかりませんでした。

こんにちは、電話で libgdx がクラッシュします

Android Libgx Frogger ゲームのクラッシュ: クラス 'com.rengelbert.froggerdx.FroggerGame' が見つかりませんでした

他のすべての質問との主な違いは、Gdx-setup.jar で作成したデスクトップ プロジェクトを作成したときに、Android プロジェクトを作成しなかったことです。デスクトップ版を作成した後、Android プロジェクトをかなり作成することにしました。

エラーが発生しています:

08-23 05:30:09.341: E/dalvikvm(27497): Could not find class 'com.cvgstudios.pokemonchrome.ChromeGame', referenced from method com.cvgstudios.pokemonchrome.RunAndroidChrome.onCreate
08-23 05:30:09.341: W/dalvikvm(27497): VFY: unable to resolve new-instance 1027 (Lcom/cvgstudios/pokemonchrome/ChromeGame;) in Lcom/cvgstudios/pokemonchrome/RunAndroidChrome;
08-23 05:30:09.341: D/dalvikvm(27497): VFY: replacing opcode 0x22 at 0x0014
08-23 05:30:09.341: D/dalvikvm(27497): DexOpt: unable to opt direct call 0x2a07 at 0x16 in Lcom/cvgstudios/pokemonchrome/RunAndroidChrome;.onCreate
08-23 05:30:09.341: D/dalvikvm(27497): Trying to load lib /data/app-lib/com.cvgstudios.pokemonchrome-1/libgdx.so 0x41a79df0
08-23 05:30:09.349: D/dalvikvm(27497): Added shared lib /data/app-lib/com.cvgstudios.pokemonchrome-1/libgdx.so 0x41a79df0
08-23 05:30:09.349: D/dalvikvm(27497): No JNI_OnLoad found in /data/app-lib/com.cvgstudios.pokemonchrome-1/libgdx.so 0x41a79df0, skipping init
08-23 05:30:09.357: D/AndroidRuntime(27497): Shutting down VM
08-23 05:30:09.357: W/dalvikvm(27497): threadid=1: thread exiting with uncaught exception (group=0x41809700)
08-23 05:30:09.364: E/AndroidRuntime(27497): FATAL EXCEPTION: main
08-23 05:30:09.364: E/AndroidRuntime(27497): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cvgstudios.pokemonchrome/com.cvgstudios.pokemonchrome.RunAndroidChrome}: java.lang.NullPointerException
08-23 05:30:09.364: E/AndroidRuntime(27497):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2339)
08-23 05:30:09.364: E/AndroidRuntime(27497):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389)
08-23 05:30:09.364: E/AndroidRuntime(27497):    at android.app.ActivityThread.access$600(ActivityThread.java:153)
08-23 05:30:09.364: E/AndroidRuntime(27497):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1269)
08-23 05:30:09.364: E/AndroidRuntime(27497):    at android.os.Handler.dispatchMessage(Handler.java:99)
08-23 05:30:09.364: E/AndroidRuntime(27497):    at android.os.Looper.loop(Looper.java:137)
08-23 05:30:09.364: E/AndroidRuntime(27497):    at android.app.ActivityThread.main(ActivityThread.java:5289)
08-23 05:30:09.364: E/AndroidRuntime(27497):    at java.lang.reflect.Method.invokeNative(Native Method)
08-23 05:30:09.364: E/AndroidRuntime(27497):    at java.lang.reflect.Method.invoke(Method.java:525)
08-23 05:30:09.364: E/AndroidRuntime(27497):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
08-23 05:30:09.364: E/AndroidRuntime(27497):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
08-23 05:30:09.364: E/AndroidRuntime(27497):    at dalvik.system.NativeStart.main(Native Method)
08-23 05:30:09.364: E/AndroidRuntime(27497): Caused by: java.lang.NullPointerException
08-23 05:30:09.364: E/AndroidRuntime(27497):    at com.cvgstudios.pokemonchrome.RunAndroidChrome.onCreate(RunAndroidChrome.java:17)
08-23 05:30:09.364: E/AndroidRuntime(27497):    at android.app.Activity.performCreate(Activity.java:5133)
08-23 05:30:09.364: E/AndroidRuntime(27497):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
08-23 05:30:09.364: E/AndroidRuntime(27497):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2293)
08-23 05:30:09.364: E/AndroidRuntime(27497):    ... 11 more

ご覧のとおり、エラーは

メソッド com.cvgstudios.pokemonchrome.RunAndroidChrome.onCreate から参照されているクラス 'com.cvgstudios.pokemonchrome.ChromeGame' が見つかりませんでした

私のジレンマへの答えを見つけるために周りを見回しながら、考えられる解決策は、メインプロジェクトが適切にエクスポートされていることを確認することでした. 私はそれを修正しました:

メイン プロジェクトをエクスポートする Android プロジェクト

ただし、問題は引き続き発生します。

デスクトップ、メイン、およびAndroidプロジェクトのビルドパスで、すべての注文ボックスとエクスポートボックスをすべてチェックしました。

これは私のクラスです

import android.os.Bundle;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;

public class RunAndroidChrome extends AndroidApplication {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
        cfg.useGL20 = true;

        Gdx.app.log(ChromeGame.LOG,
                "Attempting to make Android Chrome Work");
        initialize(new com.cvgstudios.pokemonchrome.ChromeGame(), cfg);
    }
}
4

1 に答える 1

0

クラスにインポートがありませんRunAndroidChrome

import com.cvgstudios.pokemonchrome.ChromeGame;

通常、IDE は依存するクラスを自動的にインポートします。

それが自分で定義したクラスでない場合は、ビルド パスの追加を忘れているはずです。ビルド パスの追加方法については、こちらを参照してください。

もう 1 つの可能性は、間違ったマシンでテストした可能性があることです。

また、cfg.useGL20 = true;Android に OpenGL ES 2 を使用するように指示します。これは、エミュレーターが OpenGL ES 2 をサポートしていないため、デバイスでのみテストできることを意味します。問題がある場合は、これを false に切り替えます。

詳細については、このリンクを確認してください

于 2013-08-25T02:29:39.583 に答える