Eclipse 不编译其他 jar 文件



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

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

我有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)

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

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

只需打开"项目属性"->"Java 构建路径",然后检查是否在"顺序和导出选项卡"中勾选了所有需要的 .jar。

最新更新