我尝试使用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)
答案 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将所有内容更新为干净状态。事情进展顺利。