0

我正在尝试运行这个项目但遇到错误,项目源在这里 http://www.bayninestudios.com/2010/04/box2d-on-android/

但是这段代码是在我的朋友 pc 中运行的。所以我不知道错误在哪里。

我使用 eclipse 版本:Helios Service Release 2 和我朋友使用的一样。并设置编译器合规级别:1.6。

这不仅是我遇到此类错误的一个项目,而且还有其他一些完全由我朋友的电脑运行但不在我的电脑上运行的项目。

任何伙伴都面临这种类型的错误。

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中添加项目中的所有 jars

构建路径-> 配置构建路径-> 从左窗格中选择 Java 构建路径-> 添加 Jar

于 2012-04-23T10:36:56.853 回答
1

步骤1:如果代码来自现有项目,请尝试通过“new-other-Android-android project from existing code”而不是“import-existing projects into workspace”导入项目。第一种方法可以在项目中创建一个目录“Android Dependencies”,但第二种方法可能不会。

步骤2:在项目中创建一个新目录,例如“lib”,将jbox2d.jar文件复制到那里。然后,通过项目的右键菜单“properties-java build path-libraries-add jars”将jar添加到你的项目中(当然是先删除错误)。清理项目并尝试运行。

第3步:如果通过以上两个步骤仍然不行。在项目下创建一个不同于之前的名为“lib”的新目录,您可以将其命名为“libs”。然后将jar文件复制到“libs”,删除“lib”并将“libs”下的jar引入项目,就像step2一样。就我而言,它是通过新目录重新引入jar 来工作的。

无论如何,应该有“Android Dependencies”目录,jbox2d.jar 和 annotations.jar 应该最终在该目录下。

于 2012-10-17T06:40:47.013 回答
0

我认为您的项目未运行的原因是因为在org.jbox2d.collision.AABB.ClassAABB中找不到.所以请检查您是否在项目中正确地为jar提供了构建路径。检查该jbox2d-2.0.1-full.jar路径是否在库的java构建路径中给出。

于 2012-04-23T07:58:14.620 回答