java - Libgdx AndroidLauncher 致命异常 ClassNotFoundException

标签 java android eclipse libgdx

我试图使用 LibGDX 将 AdMob 实现到我的 android 项目中,但我以某种方式完全搞砸了我的整个项目。我认为这与图书馆有关。我重置了所有代码,但它仍然无法正常工作。我正在使用 Eclipse,所以我没有 gradle。

这是我的 LogCat:

03-06 19:16:13.481: E/AndroidRuntime(26583): FATAL EXCEPTION: main
03-06 19:16:13.481: E/AndroidRuntime(26583): Process: com.techybite.sportsball, PID: 26583
03-06 19:16:13.481: E/AndroidRuntime(26583): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.techybite.sportsball/com.techybite.sportsball.AndroidLauncher}: java.lang.ClassNotFoundException: Didn't find class "com.techybite.sportsball.AndroidLauncher" on path: DexPathList[[zip file "/data/app/com.techybite.sportsball-1/base.apk"],nativeLibraryDirectories=[/data/app/com.techybite.sportsball-1/lib/arm, /vendor/lib, /system/lib]]
03-06 19:16:13.481: E/AndroidRuntime(26583):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3023)
03-06 19:16:13.481: E/AndroidRuntime(26583):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3294)
03-06 19:16:13.481: E/AndroidRuntime(26583):    at android.app.ActivityThread.access$1000(ActivityThread.java:210)
03-06 19:16:13.481: E/AndroidRuntime(26583):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1704)
03-06 19:16:13.481: E/AndroidRuntime(26583):    at android.os.Handler.dispatchMessage(Handler.java:102)
03-06 19:16:13.481: E/AndroidRuntime(26583):    at android.os.Looper.loop(Looper.java:145)
03-06 19:16:13.481: E/AndroidRuntime(26583):    at android.app.ActivityThread.main(ActivityThread.java:6938)
03-06 19:16:13.481: E/AndroidRuntime(26583):    at java.lang.reflect.Method.invoke(Native Method)
03-06 19:16:13.481: E/AndroidRuntime(26583):    at java.lang.reflect.Method.invoke(Method.java:372)
03-06 19:16:13.481: E/AndroidRuntime(26583):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
03-06 19:16:13.481: E/AndroidRuntime(26583):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
03-06 19:16:13.481: E/AndroidRuntime(26583): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.techybite.sportsball.AndroidLauncher" on path: DexPathList[[zip file "/data/app/com.techybite.sportsball-1/base.apk"],nativeLibraryDirectories=[/data/app/com.techybite.sportsball-1/lib/arm, /vendor/lib, /system/lib]]
03-06 19:16:13.481: E/AndroidRuntime(26583):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
03-06 19:16:13.481: E/AndroidRuntime(26583):    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
03-06 19:16:13.481: E/AndroidRuntime(26583):    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
03-06 19:16:13.481: E/AndroidRuntime(26583):    at android.app.Instrumentation.newActivity(Instrumentation.java:1094)
03-06 19:16:13.481: E/AndroidRuntime(26583):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3013)
03-06 19:16:13.481: E/AndroidRuntime(26583):    ... 10 more
03-06 19:16:13.481: E/AndroidRuntime(26583):    Suppressed: java.lang.NoClassDefFoundError: com.techybite.sportsball.AndroidLauncher
03-06 19:16:13.481: E/AndroidRuntime(26583):        at dalvik.system.DexFile.defineClassNative(Native Method)
03-06 19:16:13.481: E/AndroidRuntime(26583):        at dalvik.system.DexFile.defineClass(DexFile.java:226)
03-06 19:16:13.481: E/AndroidRuntime(26583):        at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219)
03-06 19:16:13.481: E/AndroidRuntime(26583):        at dalvik.system.DexPathList.findClass(DexPathList.java:321)
03-06 19:16:13.481: E/AndroidRuntime(26583):        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)
03-06 19:16:13.481: E/AndroidRuntime(26583):        ... 14 more
03-06 19:16:13.481: E/AndroidRuntime(26583):    Suppressed: java.lang.ClassNotFoundException: com.techybite.sportsball.AndroidLauncher
03-06 19:16:13.481: E/AndroidRuntime(26583):        at java.lang.Class.classForName(Native Method)
03-06 19:16:13.481: E/AndroidRuntime(26583):        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
03-06 19:16:13.481: E/AndroidRuntime(26583):        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
03-06 19:16:13.481: E/AndroidRuntime(26583):        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
03-06 19:16:13.481: E/AndroidRuntime(26583):        ... 13 more
03-06 19:16:13.481: E/AndroidRuntime(26583):    Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

非常感谢任何帮助。这是我的第一个 libGDX 项目,我边学边学。提前致谢!

最佳答案

你的问题确实是图书馆的问题。在将我的项目编译为 runnable 时,我多次遇到此类问题。

在我的案例中,问题要么是它没有打包库,要么是它打包不正确,以至于无法访问。 尝试使用 7zip 之类的文件打开导出的 apk,以查看导出时文件结构是如何构建的。

我建议使用 cradle 重新设置这个项目或至少 future 的项目。

https://github.com/libgdx/libgdx/wiki/Project-Setup-Gradle

关于java - Libgdx AndroidLauncher 致命异常 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35835674/

相关文章:

java - 删除或更新模型名称时 Play Framework 演化问题

java - 再次调用共享 SSLContext 对象的 init() 时对 SSLEngine 的影响

java - 找不到 org.jose4j.json.internal.json_simple

java - 将多个项目导入eclipse

java - 使用 Eclipse 和 Mercurial 进行项目设置

Java:HashMap containskey 返回值错误

java - 具有自定义文本支持的小部件

Android 操作栏 - 禁用选项菜单

java - 大长数字除以舍入

java.lang.NoClassDefFoundError : HttpServletRequest 错误