android使用第三方库得到“类失败的链接”和“VFY:无法找到类”

时间:2013-12-10 13:35:44

标签: java android eclipse

我有一个使用第三方库(泽西岛)的libgdx项目。它在桌面版本上编译得很好,但是因为“类XXX的链接失败”和“VFY:无法找到类...”错误而在Android上崩溃。

似乎这个确切的问题在这里出现了很多。但我已经查看了其他答案,并且一直试图让这个工作几天没有运气。

我已经将库添加到libs文件夹中,并检查它们是否在订单和导出菜单中打勾,正如所有其他问题所示。

这是一个有问题的最小项目。它是由libgdx自动创建的默认基础项目和android项目,其中添加了jersey库以及基础项目中的几行(在MyGdxGame.java中),这些行使用了jersey库并导致它在android上崩溃。 https://dl.dropboxusercontent.com/u/23063759/my-gdx-game.zip

这是我得到的logcat输出

12-10 21:19:10.531: W/dalvikvm(12940): Link of class 'Lcom/sun/jersey/core/osgi/OsgiRegistry;' failed
12-10 21:19:10.541: I/dalvikvm(12940): Could not find method com.sun.jersey.core.osgi.OsgiRegistry.getInstance, referenced from method com.sun.jersey.core.reflection.ReflectionHelper.getOsgiRegistryInstance
12-10 21:19:10.541: W/dalvikvm(12940): VFY: unable to resolve static method 10327: Lcom/sun/jersey/core/osgi/OsgiRegistry;.getInstance ()Lcom/sun/jersey/core/osgi/OsgiRegistry;
12-10 21:19:10.541: D/dalvikvm(12940): VFY: replacing opcode 0x71 at 0x0008
12-10 21:19:10.541: I/dalvikvm(12940): Failed resolving Lcom/sun/jersey/core/osgi/OsgiRegistry; interface 2368 'Lorg/osgi/framework/SynchronousBundleListener;'
12-10 21:19:10.541: W/dalvikvm(12940): Link of class 'Lcom/sun/jersey/core/osgi/OsgiRegistry;' failed
12-10 21:19:10.541: W/dalvikvm(12940): VFY: unable to find class referenced in signature (Lcom/sun/jersey/core/osgi/OsgiRegistry;)
12-10 21:19:10.631: W/dalvikvm(12940): threadid=11: thread exiting with uncaught exception (group=0x41560b    90)
12-10 21:19:10.672: D/dalvikvm(12940): GC_FOR_ALLOC freed 563K, 7% free 9262K/9856K, paused 37ms, total 3    7ms
12-10 21:19:10.672: E/AndroidRuntime(12940): FATAL EXCEPTION: GLThread 792
12-10 21:19:10.672: E/AndroidRuntime(12940): Process: com.me.mygdxgame, PID: 12940
12-10 21:19:10.672: E/AndroidRuntime(12940): java.lang.NullPointerException
12-10 21:19:10.672: E/AndroidRuntime(12940):    at javax.ws.rs.core.MediaType.valueOf(MediaType.java:119)
12-10 21:19:10.672: E/AndroidRuntime(12940):    at com.sun.jersey.api.client.PartialRequestBuilder.type(PartialRequestBuilder.java:92)
12-10 21:19:10.672: E/AndroidRuntime(12940):    at com.sun.jersey.api.client.WebResource.type(WebResource.java:349)
12-10 21:19:10.672: E/AndroidRuntime(12940):    at com.me.mygdxgame.MyGdxGame.create(MyGdxGame.java:48)
12-10 21:19:10.672: E/AndroidRuntime(12940):    at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:292)
12-10 21:19:10.672: E/AndroidRuntime(12940):    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1512)
12-10 21:19:10.672: E/AndroidRuntime(12940):    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

在我给我使用球衣的例子中,但当我将其换成不同的库时,同样的事情发生了。我觉得我有一些愚蠢的东西。但我找不到它。

0 个答案:

没有答案