Tôi đang cố gắng sử dụng twitter4j cho ứng dụng của mình để kết nối và đăng lên twitter. Tôi đang theo dõi this tutorial. Tôi đã tải xuống dự án ví dụ từ here và cố gắng chạy nó trên android 2.3.3
. Tôi chắc chắn rằng tôi đã sửa đổi Constants.java
tệp chính xác theo trang web nhà phát triển twitter của tôi. Trong số TwitterUtils.java
tôi cũng nhập OAUTH_TOKEN
và OAUTH_TOKEN_SECRET
. nhưng sau khi chạy nó, tôi đã thông báo lỗi sau:twitter4j => AndroidRuntime (446): java.lang.NoClassDefFoundError: twitter4j.http.AccessToken
> 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)
không chắc chắn nếu tôi đã sai lầm, trong Constant.java, tôi đã không thay đổi bất cứ điều gì trong
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;
Tôi đã cố gắng thay đổi "callback"
với "http://www.MyWebsite.com"
Vui lòng tư vấn làm cách nào để tôi có thể khắc phục các sự cố này.
bạn có cập nhật quảng cáo của mình thành ADT 17 không? – MKJParekh
ý của bạn là cấp API? .... tôi đã cập nhật lên cấp API 17, vui lòng cho tôi biết nếu bạn có ý nghĩa khác nhau. Tôi thực sự mới với android và java. –
thì tên thư mục thư viện của bạn là gì .. nó phải là 'libs' nếu bạn đã giữ nó lib, hãy thay đổi nó thành' libs' và sau đó kiểm tra – MKJParekh