httpmime4.5.1をAndroidで利用するとNoClassDefFoundError
現在開発しているプログラムでjarファイルを扱いたいのですがNoClassDefFoundError
が出てしまいます。
いくつか調べてlibsファイルにjarを保存し、ビルドパス→ソースでlibsフォルダを追加しました
ライブラリーのところにはビルドパスは通さなくてもいいんでしょうか?
また上記を行わないとプログラム中のインポート文にエラーが出ます。
上記は.classpathの編集で解決しました。
NoClassDefFoundErrorは現在も出ています。
該当箇所はFileBodyの部分です。
解決策をご存知の方がいらっしゃいましたら教えていただきたいです。
開発はEclipseで行っています。
以下ソース
public class HttpThread extends Thread{
String muri = null;
public HttpThread(String guri){ //メインから画像のパスを取得
muri = guri;
}
public void run() {
/*▼▼▼BlobKey取得用▼▼▼*/
String url = "http://xxxx.appspot.com/bandroid";
String bkey = "";
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
try {
HttpResponse response = httpClient.execute(httpGet);
HttpEntity entity = response.getEntity();
bkey = EntityUtils.toString(entity);
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
httpClient.getConnectionManager().shutdown();
}
/*▲▲▲ここまで▲▲▲*/
/*▼▼▼GAEアクセス用▼▼▼*/
try {
httpClient = new DefaultHttpClient();
if(bkey != null) {
bkey = bkey.substring(0, bkey.length()-1);
HttpPost httpPost = new HttpPost(bkey);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
Log.v("test", "path=" + muri);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
File file = new File(muri);
FileBody fileBody = new FileBody(file);
builder.addPart("myFile", fileBody);
httpPost.setEntity(builder.build());
httpClient.execute(httpPost, responseHandler);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
/*▲▲▲ここまで▲▲▲*/
}}