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 楼答案
与httpclient类不同,HttpTime类不是Android的一部分。你需要自己提供它们(例如,将它们放在Android项目的libs/文件夹中)