0

このプロジェクトを実行しようとしていますが、エラーが発生しています。プロジェクトのソースはこちら http://www.bayninestudios.com/2010/04/box2d-on-android/

しかし、このコードは私の友人のPCで実行されているため、エラーがどこにあるのかわかりません。

私はEclipseバージョンを使用しています:友人が使用しているものと同じHelios Service Release 2。また、コンパイラ準拠レベルを 1.6 に設定します。

これは、このタイプのエラーが発生した 1 つのプロジェクトだけでなく、友人の PC で完全に実行されているが、私の PC では実行されていない他のプロジェクトでもあります。

どの仲間もこの種のエラーに直面します。

LogCat エラーは以下のとおりです。

FATAL EXCEPTION: main java.lang.NoClassDefFoundError: org.jbox2d.collision.AABB
at com.bayninestudios.box2ddemo.PhysicsWorld.createWorld(PhysicsWorld.java:28)
at com.bayninestudios.box2ddemo.ClearRenderer.<init>(Box2dDemo.java:224)
at com.bayninestudios.box2ddemo.ClearGLSurfaceView.<init>(Box2dDemo.java:99)
at com.bayninestudios.box2ddemo.Box2dDemo.onCreate(Box2dDemo.java:44)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1794)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1851)
at android.app.ActivityThread.access$1500(ActivityThread.java:132)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:4277)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Force finishing activity com.bayninestudios.box2ddemo/.Box2dDemo
4

3 に答える 3

3

jarファイルがlibフォルダー内にあるかどうかを確認します。その場合は、別のフォルダーをlibsとして作成し、すべての jar ファイルを配置します。

libフォルダーを削除し、プロジェクト内のlibsからすべてのjarを再度追加します

ビルド パス -> ビルド パスの構成 -> 左ペインから Java ビルド パスを選択 -> Jar の追加

于 2012-04-23T10:36:56.853 に答える
1

ステップ 1: コードが既存のプロジェクトからのものである場合は、「既存のプロジェクトをワークスペースにインポートする」のではなく、「既存のコードから新しい-other-Android-android プロジェクトを作成する」を使用してプロジェクトをインポートしてみてください。最初の方法ではプロジェクトに「Android Dependencies」ディレクトリを作成できますが、2 番目の方法では作成できない可能性があります。

ステップ 2: preject に「lib」などの新しいディレクトリを作成し、そこに jbox2d.jar ファイルをコピーします。次に、プロジェクトの右クリック メニュー「properties-java build path-libraries-add jars」を使用して、プロジェクトに jar を追加します (もちろん、最初にエラー 1 を削除します)。プロジェクトをきれいにして実行してみてください。

ステップ 3: 上記の 2 つのステップを実行してもまだ機能しない場合。プロジェクトの下に「lib」という以前のディレクトリとは別の新しいディレクトリを作成し、「libs」などの名前を付けることができます。次に、jarファイルを「libs」にコピーし、「lib」を削除して、「libs」の下のjarをステップ2と同じようにプロジェクトに導入します。私の場合、新しいディレクトリを介してjarを再導入することで機能しています。

とにかく、「Android Dependencies」というディレクトリがあり、jbox2d.jarとannotations.jarが最終的にそのディレクトリの下にあるはずです。

于 2012-10-17T06:40:47.013 に答える
0

org.jbox2d.collision.AABBプロジェクトが実行されていない理由は、 .Classが に見つからないためだと思います。プロジェクトAABBで jar のビルド パスが適切に指定されていることを確認してください。このjbox2d-2.0.1-full.jarパスがライブラリの Java ビルド パスで指定されていることを確認してください。

于 2012-04-23T07:58:14.620 に答える