2

Eclipse 已停止将 jar 文件编译到我的 android 项目中,当我将其部署到设备或创建构建时,找不到正确的引用

找不到从方法 com.xyz.trySomthing() 引用的类 'org.apache.http.entity.mime.MultipartEntity'

我有 httpClient、httpCore、httpMime 等所需的 jar。它以前可以正常工作,但并非所有 jar 文件或外部库都没有被正确引用。

Twitter Jar 也会发生同样的事情


    java.lang.NoClassDefFoundError: oauth.signpost.commonshttp.CommonsHttpOAuthConsumer
E/AndroidRuntime( 2175):    at com.xyz.abc.abcd.askOAuth(BestOf.java:564)
E/AndroidRuntime( 2175):    at com.xyz.abc.abcd.access$0(BestOf.java:556)
E/AndroidRuntime( 2175):    at com.xyz.abc.abcd$3$1.onClick(BestOf.java:230)
E/AndroidRuntime( 2175):    at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:873)
E/AndroidRuntime( 2175):    at android.widget.AdapterView.performItemClick(AdapterView.java:284)
E/AndroidRuntime( 2175):    at android.widget.ListView.performItemClick(ListView.java:3513)
E/AndroidRuntime( 2175):    at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
E/AndroidRuntime( 2175):    at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime( 2175):    at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime( 2175):    at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime( 2175):    at android.app.ActivityThread.main(ActivityThread.java:3683)
E/AndroidRuntime( 2175):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 2175):    at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime( 2175):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
E/AndroidRuntime( 2175):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:647)
E/AndroidRuntime( 2175):    at dalvik.system.NativeStart.main(Native Method)
4

2 回答 2

7

如果您在项目中创建文件夹“libs”,ADT 将自动使用它们。我遇到了同样的问题,在旧版本的 ADT 中,它在外部项目中运行良好,但现在它给了我 NoClassDefFoundError。解决方案是创建一个 jar 并将其放在“libs”文件夹中。

于 2012-04-26T20:11:41.990 回答
1

将 .jars 添加到构建路径应该会有所帮助,而无需移动到 Libs 文件夹。

只需打开“项目属性”->“Java 构建路径”并检查是否在“订购和导出选项卡”中勾选了所有需要的 .jar。

于 2013-11-04T10:45:35.133 回答