android - 运行桌面版 libgdx 示例 gdx-invaders 时出现 java.lang.NoClassDefFoundError

标签 android gwt libgdx noclassdeffounderror

我正在构建 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/

相关文章:

java - 将 libGDX 中的图像保存到 iOS Gallery

Android - 包裹 : unable to marshal value

java - 如何检测Android应用程序中的特定声音?

安卓:语音识别

java - 在共享包中使用 GWT 的 NumberFormat 类

eclipse - gwt hibernate 程序中的异常

delphi - Delphi 应用程序的实时基于网络的客户端。如何?

java - AndroidLauncher 找不到 Assets ,但 DesktopLauncher 可以

android - 你如何设置微调器文本颜色?

java - Libgdx 原生 TextInput 限制文本长度