我刚刚将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来获取您的位置?