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

2024-05-16

我正在尝试使用 twitter4j 我的应用程序来连接并发布到 Twitter。我正在关注本教程 http://blog.doityourselfandroid.com/2011/02/13/guide-to-integrating-twitter-android-application/。我已经从下载了示例项目here https://github.com/ddewaele/AndroidTwitterSample并尝试运行它android 2.3.3。我确定我已经修改了Constants.java根据我的 Twitter 开发者网站正确归档。在TwitterUtils.java我已经进入OAUTH_TOKEN and OAUTH_TOKEN_SECRET还。但运行后,我收到以下错误消息:

> E/dalvikvm(374): Could not find class 'twitter4j.http.AccessToken', referenced from method com.ecs.android.sample.twitter.TwitterUtils.isAuthenticated

>W/dalvikvm(374): VFY: unable to resolve new-instance 67 (Ltwitter4j/http/AccessToken;) in Lcom/ecs/android/sample/twitter/TwitterUtils;

>D/dalvikvm(374): VFY: replacing opcode 0x22 at 0x0010

>D/dalvikvm(374): VFY: dead code 0x0012-002f in Lcom/ecs/android/sample/twitter/TwitterUtils;.isAuthenticated (Landroid/content/SharedPreferences;)Z

>E/dalvikvm(374): Could not find class 'twitter4j.http.AccessToken', referenced from method com.ecs.android.sample.twitter.TwitterUtils.sendTweet

>W/dalvikvm(374): VFY: unable to resolve new-instance 67 (Ltwitter4j/http/AccessToken;) in Lcom/ecs/android/sample/twitter/TwitterUtils;

>D/dalvikvm(374): VFY: replacing opcode 0x22 at 0x0010

>D/dalvikvm(374): VFY: dead code 0x0012-002b in Lcom/ecs/android/sample/twitter/TwitterUtils;.sendTweet (Landroid/content/SharedPreferences;Ljava/lang/String;)V

>D/AndroidRuntime(374): Shutting down VM

>W/dalvikvm(374): threadid=1: thread exiting with uncaught exception (group=0x40015560)

>E/AndroidRuntime(374): FATAL EXCEPTION: main

>E/AndroidRuntime(374): java.lang.NoClassDefFoundError: twitter4j.http.AccessToken

>E/AndroidRuntime(374):     at com.ecs.android.sample.twitter.TwitterUtils.isAuthenticated(TwitterUtils.java:18)

>E/AndroidRuntime(374):     at com.ecs.android.sample.twitter.AndroidTwitterSample.updateLoginStatus(AndroidTwitterSample.java:72)

>E/AndroidRuntime(374):     at com.ecs.android.sample.twitter.AndroidTwitterSample.onResume(AndroidTwitterSample.java:68)

>E/AndroidRuntime(374):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1150)

>E/AndroidRuntime(374):     at android.app.Activity.performResume(Activity.java:3832)

>E/AndroidRuntime(374):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2110)

>E/AndroidRuntime(374):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2135)

>E/AndroidRuntime(374):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1668)

>E/AndroidRuntime(374):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)

>E/AndroidRuntime(374):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)

>E/AndroidRuntime(374):     at android.os.Handler.dispatchMessage(Handler.java:99)

>E/AndroidRuntime(374):     at android.os.Looper.loop(Looper.java:130)

>E/AndroidRuntime(374):     at android.app.ActivityThread.main(ActivityThread.java:3683)

>E/AndroidRuntime(374):     at java.lang.reflect.Method.invokeNative(Native Method)

>E/AndroidRuntime(374):     at java.lang.reflect.Method.invoke(Method.java:507)

>E/AndroidRuntime(374):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)

>E/AndroidRuntime(374):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)

>E/AndroidRuntime(374):     at dalvik.system.NativeStart.main(Native Method)

我不确定我是否错了,在 Constant.java 中,我没有更改任何内容

public static final String REQUEST_URL = "https://api.twitter.com/oauth/request_token";

public static final String ACCESS_URL = "https://api.twitter.com/oauth/access_token";

public static final String AUTHORIZE_URL = "https://api.twitter.com/oauth/authorize";

public static final String OAUTH_CALLBACK_SCHEME = "x-oauthflow-twitter";

public static final String OAUTH_CALLBACK_HOST = "callback";

public static final String OAUTH_CALLBACK_URL = OAUTH_CALLBACK_SCHEME + "://" + OAUTH_CALLBACK_HOST;

我尝试过改变"callback" with "http://www.MyWebsite.com"请建议我如何纠正这些问题。


您需要更改您的文件夹名称lib to libs因为您已更新 ADT 17。

结账这个Article http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17有关此主题的详细信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

twitter4j => AndroidRuntime(446): java.lang.NoClassDefFoundError: twitter4j.http.AccessToken 的相关文章

随机推荐