2013-03-03 47 views
5

我目前使用parse.com作爲我的Android應用程序的後端解決方案。我正在嘗試使用Facebook對用戶進行身份驗證,而我目前正在遇到以下錯誤。我試圖將JARS(Parse和Facebook)添加到我的項目中。我也已經打掃我的項目好幾次,但我仍然得到以下錯誤:使用Parse.com登錄Facebook時NoClassDefFoundError

錯誤日誌:加入罐後

03-03 15:01:18.273: E/dalvikvm(7423): Could not find class 'com.facebook.SharedPreferencesTokenCachingStrategy', referenced from method com.parse.auth.FacebookAuthenticationProvider.authenticate 
03-03 15:01:18.273: W/dalvikvm(7423): VFY: unable to resolve new-instance 1011 (Lcom/facebook/SharedPreferencesTokenCachingStrategy;) in Lcom/parse/auth/FacebookAuthenticationProvider; 
03-03 15:01:18.277: D/dalvikvm(7423): VFY: replacing opcode 0x22 at 0x0033 
03-03 15:01:18.277: E/dalvikvm(7423): Could not find class 'com.facebook.SharedPreferencesTokenCachingStrategy', referenced from method com.parse.auth.FacebookAuthenticationProvider.restoreAuthentication 
03-03 15:01:18.277: W/dalvikvm(7423): VFY: unable to resolve new-instance 1011 (Lcom/facebook/SharedPreferencesTokenCachingStrategy;) in Lcom/parse/auth/FacebookAuthenticationProvider; 
03-03 15:01:18.277: D/dalvikvm(7423): VFY: replacing opcode 0x22 at 0x003b 
03-03 15:01:18.277: D/dalvikvm(7423): DexOpt: unable to opt direct call 0x21d7 at 0x35 in Lcom/parse/auth/FacebookAuthenticationProvider;.authenticate 
03-03 15:01:18.281: D/dalvikvm(7423): DexOpt: unable to opt direct call 0x21d7 at 0x3f in Lcom/parse/auth/FacebookAuthenticationProvider;.restoreAuthentication 
03-03 15:01:18.324: D/AndroidRuntime(7423): Shutting down VM 
03-03 15:01:18.328: W/dalvikvm(7423): threadid=1: thread exiting with uncaught exception (group=0x40dc6300) 
03-03 15:01:18.371: E/AndroidRuntime(7423): FATAL EXCEPTION: main 
03-03 15:01:18.371: E/AndroidRuntime(7423): java.lang.NoClassDefFoundError: com.facebook.SharedPreferencesTokenCachingStrategy 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at com.parse.auth.FacebookAuthenticationProvider.authenticate(FacebookAuthenticationProvider.java:114) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at com.parse.ParseUser.authenticateAsync(ParseUser.java:1096) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at com.parse.ParseUser.logInWithAsync(ParseUser.java:1113) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at com.parse.ParseUser.logInWithAsync(ParseUser.java:938) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at com.parse.ParseFacebookUtils.logIn(ParseFacebookUtils.java:338) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at com.parse.ParseFacebookUtils.logIn(ParseFacebookUtils.java:363) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at com.example.chartviewer.FbLoginActivity.onCreate(FbLoginActivity.java:44) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at android.app.Activity.performCreate(Activity.java:5008) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at android.app.ActivityThread.access$600(ActivityThread.java:130) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at android.os.Handler.dispatchMessage(Handler.java:99) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at android.os.Looper.loop(Looper.java:137) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at java.lang.reflect.Method.invokeNative(Native Method) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at java.lang.reflect.Method.invoke(Method.java:511) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
03-03 15:01:18.371: E/AndroidRuntime(7423):  at dalvik.system.NativeStart.main(Native Method) 

新的錯誤日誌:

03-03 15:15:09.472: E/AndroidRuntime(8203): FATAL EXCEPTION: main 
03-03 15:15:09.472: E/AndroidRuntime(8203): java.lang.NoClassDefFoundError: com.facebook.SharedPreferencesTokenCachingStrategy 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at com.parse.auth.FacebookAuthenticationProvider.authenticate(FacebookAuthenticationProvider.java:114) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at com.parse.ParseUser.authenticateAsync(ParseUser.java:1096) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at com.parse.ParseUser.logInWithAsync(ParseUser.java:1113) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at com.parse.ParseUser.logInWithAsync(ParseUser.java:938) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at com.parse.ParseFacebookUtils.logIn(ParseFacebookUtils.java:338) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at com.parse.ParseFacebookUtils.logIn(ParseFacebookUtils.java:363) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at com.example.chartviewer.FbLoginActivity.onCreate(FbLoginActivity.java:44) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at android.app.Activity.performCreate(Activity.java:5008) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at android.app.ActivityThread.access$600(ActivityThread.java:130) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at android.os.Handler.dispatchMessage(Handler.java:99) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at android.os.Looper.loop(Looper.java:137) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at java.lang.reflect.Method.invokeNative(Native Method) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at java.lang.reflect.Method.invoke(Method.java:511) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
03-03 15:15:09.472: E/AndroidRuntime(8203):  at dalvik.system.NativeStart.main(Native Method) 
+1

在'/ libs'文件夾中的罐子解決方案? – 2013-03-03 15:06:14

+1

試試[this](http://stackoverflow.com/questions/13964392/im-getting-a-java-lang-classnotfoundexception-com-mysql-jdbc-driver/13964418#13964418)。另外該jar應該在libs文件夾中,就像Raghav已經提到的一樣:) – Ahmad 2013-03-03 15:08:13

+1

@RaghavSood解析jar和facebook android支持jar都在libs文件夾中,我仍然得到相同的錯誤。 – AndroidEnthusiast 2013-03-03 15:17:22

回答

4

確保你檢查的複選框在Java Build Path - >Order and Export -tab。

enter image description here (圖片來自here

+1

我已經做到了。 – AndroidEnthusiast 2013-03-03 15:18:26

0

我得到改變我的minSdkVersion(11比8)