2015-06-19 23 views
1

我正在构建一个使用LibGDX的游戏,以前我已经能够启动桌面和Android项目,但是我最近整合了一个额外的外部库,现在Android项目无法启动(但桌面项目仍然启动,没有错误)。java.lang.NoClassDefFoundError&Failed resolving ...界面804(LibGDX)

的logcat的输出是:

06-19 13:34:04.011: E/Trace(16405): error opening trace file: No such file or directory (2) 
06-19 13:34:04.777: D/dalvikvm(16405): Trying to load lib /data/data/com.kittykazoo.distantshores.android/lib/libgdx.so 0x41703278 
06-19 13:34:05.011: D/dalvikvm(16405): Added shared lib /data/data/com.kittykazoo.distantshores.android/lib/libgdx.so 0x41703278 
06-19 13:34:05.011: D/dalvikvm(16405): No JNI_OnLoad found in /data/data/com.kittykazoo.distantshores.android/lib/libgdx.so 0x41703278, skipping init 
06-19 13:34:05.230: I/dalvikvm(16405): Failed resolving Lcom/kittykazoo/distantshores/DistantShores$1; interface 804 'Lcom/badlogic/gdx/pay/PurchaseObserver;' 
06-19 13:34:05.230: W/dalvikvm(16405): Link of class 'Lcom/kittykazoo/distantshores/DistantShores$1;' failed 
06-19 13:34:05.238: E/dalvikvm(16405): Could not find class 'com.kittykazoo.distantshores.DistantShores$1', referenced from method com.kittykazoo.distantshores.DistantShores.<init> 
06-19 13:34:05.238: W/dalvikvm(16405): VFY: unable to resolve new-instance 1258 (Lcom/kittykazoo/distantshores/DistantShores$1;) in Lcom/kittykazoo/distantshores/DistantShores; 
06-19 13:34:05.238: D/dalvikvm(16405): VFY: replacing opcode 0x22 at 0x0003 
06-19 13:34:05.238: I/dalvikvm(16405): Failed resolving Lcom/kittykazoo/distantshores/DistantShores$1; interface 804 'Lcom/badlogic/gdx/pay/PurchaseObserver;' 
06-19 13:34:05.238: W/dalvikvm(16405): Link of class 'Lcom/kittykazoo/distantshores/DistantShores$1;' failed 
06-19 13:34:05.238: D/dalvikvm(16405): DexOpt: unable to opt direct call 0x3668 at 0x05 in Lcom/kittykazoo/distantshores/DistantShores;.<init> 
06-19 13:34:05.238: D/dalvikvm(16405): DexOpt: unable to opt direct call 0x2017 at 0x0c in Lcom/kittykazoo/distantshores/DistantShores;.<init> 
06-19 13:34:05.246: D/dalvikvm(16405): DexOpt: unable to opt direct call 0x2013 at 0x15 in Lcom/kittykazoo/distantshores/DistantShores;.<init> 
06-19 13:34:05.246: I/dalvikvm(16405): DexOpt: unable to optimize static field ref 0x10d8 at 0x18 in Lcom/kittykazoo/distantshores/DistantShores;.<init> 
06-19 13:34:05.324: D/AndroidRuntime(16405): Shutting down VM 
06-19 13:34:05.324: W/dalvikvm(16405): threadid=1: thread exiting with uncaught exception (group=0x40f032a0) 
06-19 13:34:05.597: E/AndroidRuntime(16405): FATAL EXCEPTION: main 
06-19 13:34:05.597: E/AndroidRuntime(16405): java.lang.NoClassDefFoundError: com.kittykazoo.distantshores.DistantShores$1 
06-19 13:34:05.597: E/AndroidRuntime(16405): at com.kittykazoo.distantshores.DistantShores.<init>(DistantShores.java:43) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at com.kittykazoo.distantshores.android.AndroidLauncher.onCreate(AndroidLauncher.java:18) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at android.app.Activity.performCreate(Activity.java:5058) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2174) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at android.app.ActivityThread.access$700(ActivityThread.java:141) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1267) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at android.os.Handler.dispatchMessage(Handler.java:99) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at android.os.Looper.loop(Looper.java:137) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at android.app.ActivityThread.main(ActivityThread.java:5059) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at java.lang.reflect.Method.invokeNative(Native Method) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at java.lang.reflect.Method.invoke(Method.java:511) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555) 
06-19 13:34:05.597: E/AndroidRuntime(16405): at dalvik.system.NativeStart.main(Native Method) 

据我知道我进口图书馆正确,因为它显示在我的项目的引用的库文件夹,但也许我错过了什么?

如果有帮助,使用Eclipse。

+0

“据我所知” - 这个错误信息表明你应该检查你的假设。 – duffymo

回答

1

该博客宣称有更多的最新教程(Eclipse中):http://www.piotrjastrzebski.io/blog/libgdx-gradle-tutorial

这是与其他人讨论同样的错误消息的一个论坛,你有:http://badlogicgames.com/forum/viewtopic.php?f=11&t=13710

一般来说,你可能会得到更多的如果你发布在他们的论坛而不是StackOverflow上,你可以提供相关的建议(虽然没有理由不张贴到两者)

http://badlogicgames.com/forum/viewforum.php?f=11&sid=3cbebdbdd7e8df970c6bd1cbfc84de37

例如,我是一个Android开发者,我能想到的一些东西导入库项目时可能通常会出问题,但似乎像这个lib有一个设置库(gdx-setup.jar),它为你做了一些超出我的控制范围的东西,我不能提供建议。

+0

感谢您的建议。 gdx-setup.jar实际上只是用于创建新项目,即使在新项目的情况下,它也不会添加我添加的扩展库(gdx-pay)。我会看看其他链接。 – 1337ingDisorder

0

原来问题出在Build Path配置中。这些库已添加到构建路径中,并已列在构建路径对话框的Libraries选项卡中,但在Order和Export选项卡中未检查这些库。

我检查了他们,现在它工作。