将GMS添加到Android定位服务应用程序中,现在它崩溃了



我刚刚将GMS添加到我的应用程序中以使用LocationClient,现在我的应用在启动时崩溃了。我的主要活动似乎再也找不到我的服务了,这是处理位置逻辑的地方。

为了引入gms,我在gradle依赖项中添加了以下行。

compile 'com.google.android.gms:play-services:4.0.30'

这就是我犯的错误。

28 22:10:39.761    2885-2885/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.nathan.allgood, PID: 2885
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/myname/appname/services/ActivityService;

在我的清单中也有这个:

<meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

有什么想法吗?

谢谢,Nathan

编辑:添加LogCat和错误发生的方法

    /**
     * Bind this Activity to MyService
     */
    private void doBindService() {
        getActivity().bindService(new Intent(getActivity(), ActivityService.class), mConnection, Context.BIND_AUTO_CREATE);
        mIsBound = true;
    }
11-28 22:53:59.502    2278-2278/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.myname.appname, PID: 2278
java.lang.NoClassDefFoundError: com.myname.appname.services.ActivityService
        at com.myname.appname.Activity1$OneFragment.automaticBind(Activity1.java:119)
        at com.myname.appname.Activity1$OneFragment.onResume(Activity1.java:105)
        at android.app.Fragment.performResume(Fragment.java:1743)
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:924)
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1044)
        at android.app.FragmentManagerImpl.dispatchResume(FragmentManager.java:1863)
        at android.app.Activity.performResume(Activity.java:5332)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2779)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2818)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2251)
        at android.app.ActivityThread.access$700(ActivityThread.java:145)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1407)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:5062)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
        at dalvik.system.NativeStart.main(Native Method)
11-28 23:33:12.336    6335-6335/com.myname.appname E/dalvikvm﹕ Could not find class    'com.myname.appname.services.ActivityService', referenced from method   com.myname.appname.Activity1$OneFragment.doBindService
11-28 23:33:12.386    6335-6335/com.myname.appname E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.myname.appname, PID: 6335
java.lang.NoClassDefFoundError: com.myname.appname.services.ActivityService
        at com.myname.appname.Activity1$OneFragment.automaticBind(Activity1.java:119)
        at com.myname.appname.Activity1$OneFragment.onResume(Activity1.java:105)
        at android.app.Fragment.performResume(Fragment.java:1743)
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:924)
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1044)
        at android.app.FragmentManagerImpl.dispatchResume(FragmentManager.java:1863)
        at android.app.Activity.performResume(Activity.java:5332)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2779)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2818)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2251)
        at android.app.ActivityThread.access$700(ActivityThread.java:145)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1407)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:5062)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at     com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
        at dalvik.system.NativeStart.main(Native Method)

编辑2:我还应该提到我正在使用安卓工作室

解决方案!!!编辑3:
根据另一篇stackoverflow帖子的建议,我做了一个gradlew清理,然后gradlew构建,这似乎已经解决了问题!

因为您还没有发布代码,所以请在logcat中查找"引起"。告诉我为什么使用AsyncTask来获取您的位置?

最新更新