2012-08-27 170 views
0

我知道几个帖子已经存在关于这个问题,但我花了几天来找出什么是错误的,我仍然得到这个错误,但我遵循在网上找到的所有步骤。NoClassDefFoundError与外部jar

我只是想这个jar添加到我的项目:https://github.com/jgilfelt/android-mapviewballoons/

我把它改成库与他人罐子例如AdMob ... 它编译文件夹,然后我就可以开始相关的MapActivity罐子(代码来自于下载的上方,这是原来的代码),当我点按地图上的标记,应用程序崩溃,这里是我所得到的:

08-27 14:07:45.872: E/InputEventReceiver(4206): Exception dispatching input event. 
08-27 14:07:45.872: E/MessageQueue-JNI(4206): Exception in MessageQueue callback: handleReceiveCallback 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): java.lang.NoClassDefFoundError: com.readystatesoftware.mapviewballoons.R$layout 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.readystatesoftware.mapviewballoons.BalloonOverlayView.setupView(BalloonOverlayView.java:79) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.readystatesoftware.mapviewballoons.BalloonOverlayView.<init>(BalloonOverlayView.java:58) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.readystatesoftware.mapviewballoons.BalloonItemizedOverlay.createBalloonOverlayView(BalloonItemizedOverlay.java:151) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.readystatesoftware.mapviewballoons.BalloonItemizedOverlay.createAndDisplayBalloonOverlay(BalloonItemizedOverlay.java:284) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.readystatesoftware.mapviewballoons.BalloonItemizedOverlay.onTap(BalloonItemizedOverlay.java:126) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.google.android.maps.ItemizedOverlay.onTap(ItemizedOverlay.java:453) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.google.android.maps.OverlayBundle.onTap(OverlayBundle.java:83) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.google.android.maps.MapView$1.onSingleTapUp(MapView.java:356) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.google.android.maps.GestureDetector.onTouchEvent(GestureDetector.java:533) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.google.android.maps.MapView.onTouchEvent(MapView.java:683) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.readystatesoftware.maps.TapControlledMapView.onTouchEvent(TapControlledMapView.java:62) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.View.dispatchTouchEvent(View.java:7127) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2170) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1905) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1925) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1379) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.app.Activity.dispatchTouchEvent(Activity.java:2396) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1873) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.View.dispatchPointerEvent(View.java:7307) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3172) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3117) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4153) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4132) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4224) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.os.MessageQueue.nativePollOnce(Native Method) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.os.MessageQueue.next(MessageQueue.java:125) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.os.Looper.loop(Looper.java:124) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at android.app.ActivityThread.main(ActivityThread.java:4745) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at java.lang.reflect.Method.invokeNative(Native Method) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at java.lang.reflect.Method.invoke(Method.java:511) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
08-27 14:07:45.880: E/MessageQueue-JNI(4206): at dalvik.system.NativeStart.main(Native Method) 
08-27 14:07:45.880: W/dalvikvm(4206): threadid=1: thread exiting with uncaught exception (group=0x41fbb300) 
08-27 14:07:45.887: E/AndroidRuntime(4206): FATAL EXCEPTION: main 
08-27 14:07:45.887: E/AndroidRuntime(4206): java.lang.NoClassDefFoundError: com.readystatesoftware.mapviewballoons.R$layout 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.readystatesoftware.mapviewballoons.BalloonOverlayView.setupView(BalloonOverlayView.java:79) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.readystatesoftware.mapviewballoons.BalloonOverlayView.<init>(BalloonOverlayView.java:58) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.readystatesoftware.mapviewballoons.BalloonItemizedOverlay.createBalloonOverlayView(BalloonItemizedOverlay.java:151) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.readystatesoftware.mapviewballoons.BalloonItemizedOverlay.createAndDisplayBalloonOverlay(BalloonItemizedOverlay.java:284) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.readystatesoftware.mapviewballoons.BalloonItemizedOverlay.onTap(BalloonItemizedOverlay.java:126) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.google.android.maps.ItemizedOverlay.onTap(ItemizedOverlay.java:453) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.google.android.maps.OverlayBundle.onTap(OverlayBundle.java:83) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.google.android.maps.MapView$1.onSingleTapUp(MapView.java:356) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.google.android.maps.GestureDetector.onTouchEvent(GestureDetector.java:533) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.google.android.maps.MapView.onTouchEvent(MapView.java:683) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.readystatesoftware.maps.TapControlledMapView.onTouchEvent(TapControlledMapView.java:62) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.View.dispatchTouchEvent(View.java:7127) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2170) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1905) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1925) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1379) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.app.Activity.dispatchTouchEvent(Activity.java:2396) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1873) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.View.dispatchPointerEvent(View.java:7307) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3172) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3117) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4153) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4132) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4224) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.os.MessageQueue.nativePollOnce(Native Method) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.os.MessageQueue.next(MessageQueue.java:125) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.os.Looper.loop(Looper.java:124) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at java.lang.reflect.Method.invoke(Method.java:511) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
08-27 14:07:45.887: E/AndroidRuntime(4206):  at dalvik.system.NativeStart.main(Native Method) 

我希望有人能够帮助我。

+0

既然你有mapviewballoons来源,为什么不把它作为参考项目导入到你自己的项目中(而不是使用预编译的jar)呢?与他们在GitHub项目站点上声明的编译示例应用程序类似。 – harism

+0

是的,就是这样,谢谢。 – lost17

回答

1
  1. 将jar文件作为项目导入到工作空间中。
  2. 从您的项目属性中,将导入的项目引用为库项目。
  3. 编译你的项目。
+1

谢谢,除了我不知道如何去做。我发现我只是去属性> Android选项卡,然后从底部的窗口添加项目... – lost17

相关问题