twitter4j => AndroidRuntime(446):java.lang.NoClassDefFoundError:twitter4j.http.AccessToken

前端之家收集整理的这篇文章主要介绍了twitter4j => AndroidRuntime(446):java.lang.NoClassDefFoundError:twitter4j.http.AccessToken前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用twitter4j为我的应用程序连接并发布到Twitter.我关注 this tutorial.我已经从 here下载了示例项目并尝试在android 2.3.3上运行它.我确信我已经根据我的Twitter开发者网站正确修改了Constants.java文件.在TwitterUtils.java中,我也输入了OAUTH_TOKEN和OAUTH_TOKEN_SECRET.但运行后,我收到以下错误消息:
  1. > E/dalvikvm(374): Could not find class 'twitter4j.http.AccessToken',referenced from method com.ecs.android.sample.twitter.TwitterUtils.isAuthenticated
  2.  
  3. >W/dalvikvm(374): VFY: unable to resolve new-instance 67 (Ltwitter4j/http/AccessToken;) in Lcom/ecs/android/sample/twitter/TwitterUtils;
  4.  
  5. >D/dalvikvm(374): VFY: replacing opcode 0x22 at 0x0010
  6.  
  7. >D/dalvikvm(374): VFY: dead code 0x0012-002f in Lcom/ecs/android/sample/twitter/TwitterUtils;.isAuthenticated (Landroid/content/SharedPreferences;)Z
  8.  
  9. >E/dalvikvm(374): Could not find class 'twitter4j.http.AccessToken',referenced from method com.ecs.android.sample.twitter.TwitterUtils.sendTweet
  10.  
  11. >W/dalvikvm(374): VFY: unable to resolve new-instance 67 (Ltwitter4j/http/AccessToken;) in Lcom/ecs/android/sample/twitter/TwitterUtils;
  12.  
  13. >D/dalvikvm(374): VFY: replacing opcode 0x22 at 0x0010
  14.  
  15. >D/dalvikvm(374): VFY: dead code 0x0012-002b in Lcom/ecs/android/sample/twitter/TwitterUtils;.sendTweet (Landroid/content/SharedPreferences;Ljava/lang/String;)V
  16.  
  17. >D/AndroidRuntime(374): Shutting down VM
  18.  
  19. >W/dalvikvm(374): threadid=1: thread exiting with uncaught exception (group=0x40015560)
  20.  
  21. >E/AndroidRuntime(374): FATAL EXCEPTION: main
  22.  
  23. >E/AndroidRuntime(374): java.lang.NoClassDefFoundError: twitter4j.http.AccessToken
  24.  
  25. >E/AndroidRuntime(374): at com.ecs.android.sample.twitter.TwitterUtils.isAuthenticated(TwitterUtils.java:18)
  26.  
  27. >E/AndroidRuntime(374): at com.ecs.android.sample.twitter.AndroidTwitterSample.updateLoginStatus(AndroidTwitterSample.java:72)
  28.  
  29. >E/AndroidRuntime(374): at com.ecs.android.sample.twitter.AndroidTwitterSample.onResume(AndroidTwitterSample.java:68)
  30.  
  31. >E/AndroidRuntime(374): at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1150)
  32.  
  33. >E/AndroidRuntime(374): at android.app.Activity.performResume(Activity.java:3832)
  34.  
  35. >E/AndroidRuntime(374): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2110)
  36.  
  37. >E/AndroidRuntime(374): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2135)
  38.  
  39. >E/AndroidRuntime(374): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1668)
  40.  
  41. >E/AndroidRuntime(374): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
  42.  
  43. >E/AndroidRuntime(374): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
  44.  
  45. >E/AndroidRuntime(374): at android.os.Handler.dispatchMessage(Handler.java:99)
  46.  
  47. >E/AndroidRuntime(374): at android.os.Looper.loop(Looper.java:130)
  48.  
  49. >E/AndroidRuntime(374): at android.app.ActivityThread.main(ActivityThread.java:3683)
  50.  
  51. >E/AndroidRuntime(374): at java.lang.reflect.Method.invokeNative(Native Method)
  52.  
  53. >E/AndroidRuntime(374): at java.lang.reflect.Method.invoke(Method.java:507)
  54.  
  55. >E/AndroidRuntime(374): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
  56.  
  57. >E/AndroidRuntime(374): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
  58.  
  59. >E/AndroidRuntime(374): at dalvik.system.NativeStart.main(Native Method)

我不确定我是不是错了,在Constant.java中,我没有改变任何东西

  1. public static final String REQUEST_URL = "https://api.twitter.com/oauth/request_token";
  2.  
  3. public static final String ACCESS_URL = "https://api.twitter.com/oauth/access_token";
  4.  
  5. public static final String AUTHORIZE_URL = "https://api.twitter.com/oauth/authorize";
  6.  
  7. public static final String OAUTH_CALLBACK_SCHEME = "x-oauthflow-twitter";
  8.  
  9. public static final String OAUTH_CALLBACK_HOST = "callback";
  10.  
  11. public static final String OAUTH_CALLBACK_URL = OAUTH_CALLBACK_SCHEME + "://" + OAUTH_CALLBACK_HOST;

我尝试用“http://www.MyWebsite.com”更改“回调”
请指教我如何纠正这些问题.

解决方法

您需要在更新ADT 17时将文件名称从lib更改为libs.

请查看此Article获取有关此主题的详细信息.

猜你在找的Android相关文章