Android Twitter4j给出错误NoClassDefFoundError:Twitter4j.TwitterFactory

Android Twitter4j给出错误NoClassDefFoundError:Twitter4j.TwitterFactory,android,twitter4j,Android,Twitter4j,我正在制作一个与Twitter通信的应用程序来发布推文。我的问题是,在编译代码时,会收到错误消息: NoClassDefFoundError: twitter4j.TwitterFactory 以下是通过onClickListener发布推文的代码: post.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-genera

我正在制作一个与Twitter通信的应用程序来发布推文。我的问题是,在编译代码时,会收到错误消息:

NoClassDefFoundError: twitter4j.TwitterFactory
以下是通过onClickListener发布推文的代码:

post.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            Twitter twitter = new TwitterFactory().getInstance();  
            AccessToken a = new AccessToken("****", "****");
            twitter.setOAuthConsumer("****", "****");
            twitter.setOAuthAccessToken(a); 
            try {
                twitter.updateStatus("If you're reading this on Twitter, it worked!");
            } catch (TwitterException e) {
                e.printStackTrace();
            }   
        }
    });
以下是我在日志中得到的信息:

04-04 10:27:51.330: E/AndroidRuntime(12547): FATAL EXCEPTION: main
04-04 10:27:51.330: E/AndroidRuntime(12547): java.lang.NoClassDefFoundError: twitter4j.TwitterFactory
04-04 10:27:51.330: E/AndroidRuntime(12547):    at com.bintuu.updater.TwitterClass$3.onClick(TwitterClass.java:107)
04-04 10:27:51.330: E/AndroidRuntime(12547):    at android.view.View.performClick(View.java:2485)
04-04 10:27:51.330: E/AndroidRuntime(12547):    at android.view.View$PerformClick.run(View.java:9080)
04-04 10:27:51.330: E/AndroidRuntime(12547):    at android.os.Handler.handleCallback(Handler.java:587)
04-04 10:27:51.330: E/AndroidRuntime(12547):    at android.os.Handler.dispatchMessage(Handler.java:92)
04-04 10:27:51.330: E/AndroidRuntime(12547):    at android.os.Looper.loop(Looper.java:130)
04-04 10:27:51.330: E/AndroidRuntime(12547):    at android.app.ActivityThread.main(ActivityThread.java:3683)
04-04 10:27:51.330: E/AndroidRuntime(12547):    at java.lang.reflect.Method.invokeNative(Native Method)
04-04 10:27:51.330: E/AndroidRuntime(12547):    at java.lang.reflect.Method.invoke(Method.java:507)
04-04 10:27:51.330: E/AndroidRuntime(12547):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-04 10:27:51.330: E/AndroidRuntime(12547):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-04 10:27:51.330: E/AndroidRuntime(12547):    at dalvik.system.NativeStart.main(Native Method)

尝试将“lib”文件夹名称重命名为“libs”。这为我解决了一个类似的问题,请检查此处:

在您的根目录中创建一个名为libs的文件夹 投影并将twitter4j jar放入其中

然后通过项目属性->Java构建路径-> 库->添加jar

删除对twitter4j JAR的任何旧引用


清理并启动。

我在twitter4j上遇到了同样的问题,我解决了它。在将文件夹命名为“libs”之后,我将“libs”文件夹用作源文件夹,以便可以访问其中的一些方法。我想知道它背后真正的化学成分是什么!!但就是这样,它现在对我起作用了。要使其成为源文件夹,只需右键单击它,转到“构建路径”,然后选择“用作源文件夹”。

我现在找到了解决方案。问题是我使用的是一个非常旧版本的Twitter4j,在我的libs文件夹中,有多个名称相同的jar。我现在已经修复了这些问题,现在它工作得很好。

我知道它太旧了,但对于像我这样的人来说,问题是通过在项目中包括log4j、slf4j和commons日志jar解决的,因为twitter4j core使用了它们。

我发现我导入twitter4j的方式不正确。因此,我接下来要做的是将其从构建路径中删除,然后将twitter4j-core-4.0.2.jar复制到我的libs文件夹中,然后重新启动eclipse并将libs中的jar添加到构建路径中。此后,一切都进行了分类

您是否已将Twitter4j jar添加到您的类路径中?看:是的,我有。尽管如此,我仍然遇到同样的问题。该教程的目标是纯Java。我使用的是androids java。这与Android和普通java项目的步骤相同。是的,我已经确认了这一点,但我仍然得到相同的错误。你能提供有关此错误的更多详细信息吗?是否有一个堆栈跟踪与它一起?在编译代码时,你能说得更具体些吗?Eclipse是在红色下划线下显示错误,还是在运行应用程序时出现错误?这仍然无助于改善情况。