2016-03-07 93 views
0

我正试图用我的Android项目实现AdMob与LibGDX,我完全搞砸了我的整个项目。我认为这与图书馆有关。我重置了所有的代码,但它仍然不起作用。我使用Eclipse,所以我没有gradle。Libgdx AndroidLauncher FATAL EXCEPTION ClassNotFoundException

这里是我的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项目,我正在学习。先谢谢你!

回答

0

问题的原因确实是一个图书馆问题。编译我的项目到可运行时,我遇到过这种问题很多次。

在我的情况下,问题是要么没有打包库,要么打包错误,导致无法访问。 尝试用7zip之类的东西打开导出的apk,看看导出时文件结构是如何建立起来的。

我建议使用摇篮来重新设置这个项目或至少将来的项目。

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

0

即使这是一个有点老了,这一次让我抓我的头几个星期,以为我会离开这里的解决方案的人谁碰到这个问题来了:

  1. 选择你的Android项目。项目>属性。
  2. 选择“Java构建路径”左侧面板
  3. 上选择“排序和导出”选项卡
  4. 点击“全选”再点击“应用”>“确定”

如果它是你的DesktopLauncher'找不到'的类并抛出ClassNotFoundException,使用上述相同的步骤,但不是在第一步中选择您的Android项目,在按照步骤操作之前选择您的桌面项目(听起来很明显,但它有我)。这是一个图书馆问题。 PS:我使用eclipse和gradle集成。

相关问题