有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我已经做了很长一段时间的反射代码,但最近才因为外部JAR而出现问题。这里讨论的JAR是与HTTPPost http://developer.安卓.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 安卓.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/注释(我对这些术语不太了解)

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) 个答案

  1. # 1 楼答案

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