0

私はかなり長い間リフレクション コードを実行してきましたが、外部 JAR が原因で最近問題が発生しました。ここで問題となっている JARは、POST リクエストを実行できるようにHTTPPost http://developer.android.com/reference/org/apache/http/client/methods/HttpPost.htmlに関連付けられているものです。

私は同じ 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

助けてください!

4

1 に答える 1

0

httpclient クラスとは対照的に、httpmime のクラスは Android の一部ではありません。それらを自分で提供する必要があります (たとえば、Android プロジェクトの libs/ フォルダーに配置するなど)。

于 2012-11-29T09:55:00.357 に答える