Dalvik无法通过反射在外部JAR中找到类

时间:2012-11-29 06:08:52

标签: java android reflection http-post

我现在已经做了一段反思代码了很长一段时间,但由于外部JAR,最近才出现问题。这里讨论的JAR是那些与HTTPPost http://developer.android.com/reference/org/apache/http/client/methods/HttpPost.html相关的JAR,因此我可以发出POST请求

我使用相同的IDE Eclipse在单独的项目中编写我的Java代码和Android代码。

在我的Android项目中,我已将JAR文件复制到/ libs文件夹中,并将JAR添加到Android依赖项中。

在Java项目中,我在IDE中添加了依赖项,这样我就不会出现编码错误。

要“编译”Java项目,我使用以下命令行

javac -classpath android.jar;httpclient-4.1.2.jar;httpcore-4.1.2.jar;httpmime-4.1.2.jar MyReflectionClass.java

jar -cf MyReflectionClass.jar MyReflectionClass.java

dx --dex --output=classes.dex myreflectionclass.jar

未报告任何错误。

直到现在,当我不需要外部JAR时,这些步骤始终正常。似乎第一行不足以“导入”JAR /注释(我不太清楚这些术语)

Android项目能够在Java项目中加载类,Java代码执行到此行

MultipartEntity ent = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);

我在Logcat中收到此错误

tag = dalvikvm
text = Could not find class 'org.apache.http.entity.mime.MultipartEntity', referenced from method MyReflectionClass.mymethod

请帮忙!

1 个答案:

答案 0 :(得分:0)

与httpclient类相比,httpmime的类不是Android的一部分。您需要自己提供它们(例如,将它们放在Android项目的libs /文件夹中)。