我正在构建 libgdx 的 gdx-invaders 示例。有两个项目: gdx-invaders - 基础项目,作为桌面 Java 应用程序运行 gdx-invaders-android 项目 - 依赖于 gdx-invaders,并作为 Android 应用程序运行
我是 Eclipse 新手,但根据我能找到的最佳教程,采取了适当的步骤来让这两个项目引用适当的库(gdx.jar 等),并让它们使用 Android 2.2。我还尝试了一些基本修复,例如构建前清理和重新启动 Eclipse。
现在,gdx-invaders 已构建,但当它运行时,我收到此运行时异常:
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gwt/core/client/GWT
at com.badlogic.gwtref.client.ReflectionCache.<clinit>(ReflectionCache.java:24)
at com.badlogic.gdx.utils.reflect.ArrayReflection.newInstance(ArrayReflection.java:11)
at com.badlogic.gdx.utils.Array.<init>(Array.java:64)
at com.badlogic.gdx.backends.openal.OpenALAudio.<init>(OpenALAudio.java:51)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.<init>(LwjglApplication.java:82)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.<init>(LwjglApplication.java:64)
at com.badlogic.gdxinvaders.GdxInvadersDesktop.main(GdxInvadersDesktop.java:27)
并且 gdx-invaders-android 根本无法构建 - 它无法引用包 com.badlogic.gdxinvaders (在 gdx-invaders 中定义的包),这会在尝试引用 GdxInvaders 时导致编译器错误,a该包中定义的类。
构建库来自 libgdx-nightly-latest 发行版。你们是否更倾向于将 JAR 从这里复制到我的基础项目的 lib 目录中,并使用“添加 Jars”引用此处的 JAR,或者是否最好使用“添加外部 JAR”并在 libgdx-nightly-latest 中引用它们目录?
谢谢!! 亚伦
最佳答案
您必须将 gdx 项目添加到位于 java 构建路径中的项目选项卡中。您必须将 jpct_ae.jar 和 jpct_shaders.zip 包含到项目构建路径中。
关于android - 运行桌面版 libgdx 示例 gdx-invaders 时出现 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19000556/