2012-04-04 21 views
6

Uygulamam için twitter4j'yi bağlanıp twitter'e göndermek için kullanıyorum. this tutorial'u takip ediyorum. Örnek projeyi here'dan yükledim ve android 2.3.3 üzerinde çalıştırmayı deneyin. Twitter geliştirici web sitesine göre Constants.java dosyasını doğru şekilde değiştirdiğime eminim. TwitterUtils.java da OAUTH_TOKEN ve OAUTH_TOKEN_SECRET'u giriyorum. ama bunu çalıştırdıktan sonra, ben hata iletileri aşağıdaki var: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) 

i Constant.java içinde, i "callback" değişen denedim

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; 

herhangi bir değişiklik değil, yanılıyorsam emin değilim "http://www.MyWebsite.com" ile Lütfen bu sorunları nasıl düzeltebilirim?

+0

Adtınızı ADT 17 ile güncellediniz mi? – MKJParekh

+0

API seviyesini kastettin mi? .... API 17 seviyesine güncelledim zaten, lütfen farklı bir şey ifade ederseniz lütfen bana bildirin. Ben android ve java için gerçekten yeni. –

+3

o zaman kütüphane klasörünüzün adı nedir? Lib'leri saklı tutarsanız lütfen lib'leri değiştirin ve lütfen libre'ye değiştirin ve – MKJParekh

cevap

19

Sen Bu konuyla ilgili detaylı bilgi için

Ödeme bu Article ADT 17. güncelledik olarak libs için lib adresinin Klasör adını değiştirmek gerekir.

+0

düğmesine basıldığında auth_token saklanan SharedPreference'ı kaldırın. Çok teşekkür ederim. Hayatımı kurtardın. lol – cmcromance

4

Birisi ADT 18 kullanıyorsa, hiç bir lib klasörüne sahip değildim, yalnızca Project, Properties, Java Build Path, Libraries sekmesini kullanıyordum. Bu sorunu çözmek için, projemde bir libs klasörü oluşturdum, dış kavanozlarımı bu klasöre kopyaladım ve daha sonra Kütüphaneler sekmesindeki başvuruları kaldırdım. Proje yeniden inşa edildi ve çalıştı!

İlgili konular