谷歌播放服务lib NoClassDefFoundError

时间:2014-07-22 11:58:18

标签: android google-play-services android-location

我尝试使用google-play-services-lib中的位置API。

我已根据开发者页面

设置项目
  

http://developer.android.com/google/play-services/setup.html

运行应用程序后,它会因错误而崩溃。 Logcat:

  

解析接口1013失败   ' LCOM /谷歌/机器人/克/位置/ LocationListener的;

java.lang.NoClassDefFoundError: com.example.fragments.MyFragment

MyFragment implements LocationListener and GooglePlayServices接口。

我花了很多时间通过谷歌搜索但没有找到解决方案。有人可以帮忙吗?谢谢。

logcat的:

07-22 14:08:15.329: E/AndroidRuntime(13259): FATAL EXCEPTION: main
07-22 14:08:15.329: E/AndroidRuntime(13259): java.lang.NoClassDefFoundError:
com.example.fragments.MyFragment
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
com.example.fragments.BaseFragment.getPages(BaseFragment.java:80)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
com.example.fragments.BaseFragment.onCreate(BaseFragment.java:48)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
android.support.v4.app.Fragment.performCreate(Fragment.java:1477)


 07-22 14:08:15.329: E/AndroidRuntime(13259):   at
android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:893)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:570)

 07-22 14:08:15.329: E/AndroidRuntime(13259):   at
android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1164)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
android.app.Activity.performStart(Activity.java:5114)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2153)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
android.app.ActivityThread.access$600(ActivityThread.java:141)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
android.os.Handler.dispatchMessage(Handler.java:99)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
android.os.Looper.loop(Looper.java:137)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
android.app.ActivityThread.main(ActivityThread.java:5039)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
java.lang.reflect.Method.invokeNative(Native Method)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
java.lang.reflect.Method.invoke(Method.java:511)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
07-22 14:08:15.329: E/AndroidRuntime(13259):    at dalvik.system.NativeStart.main(Native
Method)

2 个答案:

答案 0 :(得分:1)

@marlin

1)转到java构建路径的项目属性,并检查订单和导出中的所有内容。 2)http://android-er.blogspot.in/2012/12/add-reference-library-google-play.html

如果您仍然遇到任何问题,请告诉我

由于

答案 1 :(得分:0)

我有同样的情况,在我的情况下,问题是我最近更新到一个新的Android软件包(手动,通过下载新的软件包),但由于某种原因,我也保留旧的在我的电脑上。所以,我的PC上有两个不同的目录“adt-bundle-windows-x86 -________”。通常情况下,这并没有造成任何问题,但显然,当我在较新的目录中开发我的应用程序时,Google Utils已更新到较旧的目录中。这搞砸了整个事情。

我的解决方案是将旧目录“adt-bundle-windows-x86 -________”移开,这样PC上只有1个目录“adt-bundle-windows-x86 -________”。然后我使用SDK Manager将所有内容更新为干净状态。事情进展顺利。