안녕하세요.
예전에 잘 되던 기능이 먹통이 되네요.
현재 개발된 앱에는 사진을 서버로 전송하는 메뉴가 있습니다.
1. 사진 등록 버튼 클릭
2. 사진 촬영 / 갤러리 선택
3. 사진 촬영 모드 혹은 갤러리 사진 리스트
4. 사진 촬영 혹은 사진 선택 <---------------------------- 앱 다운
전에 잘 되던 기능입니다. 코드 상으로 보면 아래 코드에서 다운되네요.
FileBody cbFile = new FileBody(file, "image/jpeg");
* 혹시 proguard 설정 때문은 아닌가요?
----------------------- 해당 함수 --------------------------------------------------------------
private void HttpFileUpload(String urlString, String params, String fileName) {
try {
String resultString = "";
HttpClient httpClient = new DefaultHttpClient();
HttpPost postRequest = new HttpPost(urlString);
File file = new File(fileName);
FileBody cbFile = new FileBody(file, "image/jpeg");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date(System.currentTimeMillis());
String Time = dateFormat.format(date);
StringBody sb1 = new StringBody(chklogin.getString("UserId", "0"));
StringBody sb2 = new StringBody("1"); // 0 = true 1= false
StringBody sb3 = new StringBody(contactID);
StringBody sb4 = new StringBody(Time+".jpg");
MultipartEntity multipartContent = new MultipartEntity();
multipartContent.addPart("uploadedfile", cbFile);
multipartContent.addPart("aaa", sb1);
multipartContent.addPart("bbb", sb2);
multipartContent.addPart("ccc", sb3);
multipartContent.addPart("ddd", sb4);
postRequest.setEntity(multipartContent);
HttpResponse res = httpClient.execute(postRequest);
BufferedReader br = new BufferedReader(new InputStreamReader(res.getEntity().getContent()));
String inLine = null;
while ((inLine=br.readLine())!= null){ //라인단위로 읽어들이기
System.out.println("inLine = " + inLine);
resultString += inLine;
}
br.close();
httpClient.getConnectionManager().shutdown();
isfileupload_result = fileupload_result(resultString);
} catch (Exception e) {
System.out.println("Error file send = " + e);
}
}
----------------------------------- logCat ------------------------------------------------
08-28 14:55:58.012: W/dalvikvm(19552): threadid=12: thread exiting with uncaught exception (group=0x4001d7d0)
08-28 15:09:35.465: E/AndroidRuntime(19552): FATAL EXCEPTION: Thread-16
08-28 15:09:35.465: E/AndroidRuntime(19552): java.lang.NoClassDefFoundError: org.apache.http.entity.mime.content.FileBody
08-28 15:09:35.465: E/AndroidRuntime(19552): at kr.co.myapp.customer.AppCustomer_PhotoActivity.HttpFileUpload(AppCustomer_PhotoActivity.java:374)
08-28 15:09:35.465: E/AndroidRuntime(19552): at kr.co.myapp.customer.AppCustomer_PhotoActivity.access$11(AppCustomer_PhotoActivity.java:368)
08-28 15:09:35.465: E/AndroidRuntime(19552): at kr.co.myapp.customer.AppCustomer_PhotoActivity$7.run(AppCustomer_PhotoActivity.java:194)
08-28 15:09:35.465: E/AndroidRuntime(19552): Caused by: java.lang.ClassNotFoundException: org.apache.http.entity.mime.content.FileBody in loader dalvik.system.PathClassLoader[/data/app/kr.co.myapp-1.apk]
08-28 15:09:35.465: E/AndroidRuntime(19552): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
08-28 15:09:35.465: E/AndroidRuntime(19552): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
08-28 15:09:35.465: E/AndroidRuntime(19552): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
08-28 15:09:35.465: E/AndroidRuntime(19552): ... 3 more
08-28 15:09:35.488: E/AndroidRuntime(19552): *** KLAATU --1
08-28 15:09:35.488: E/AndroidRuntime(19552): java.lang.NoClassDefFoundError: org.apache.http.entity.mime.content.FileBody
08-28 15:09:35.488: E/AndroidRuntime(19552): at kr.co.myapp.customer.AppCustomer_PhotoActivity.HttpFileUpload(AppCustomer_PhotoActivity.java:374)
08-28 15:09:35.488: E/AndroidRuntime(19552): at kr.co.myapp.customer.AppCustomer_PhotoActivity.access$11(AppCustomer_PhotoActivity.java:368)
08-28 15:09:35.488: E/AndroidRuntime(19552): at kr.co.myapp.customer.AppCustomer_PhotoActivity$7.run(AppCustomer_PhotoActivity.java:194)
08-28 15:09:35.488: E/AndroidRuntime(19552): Caused by: java.lang.ClassNotFoundException: org.apache.http.entity.mime.content.FileBody in loader dalvik.system.PathClassLoader[/data/app/kr.co.myapp-1.apk]
08-28 15:09:35.488: E/AndroidRuntime(19552): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
08-28 15:09:35.488: E/AndroidRuntime(19552): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
08-28 15:09:35.488: E/AndroidRuntime(19552): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
08-28 15:09:35.488: E/AndroidRuntime(19552): ... 3 more
08-28 15:09:41.242: E/WindowManager(19552): Activity kr.co.myapp.customer.AppCustomer_PhotoActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@47f14e70 that was originally added here
08-28 15:09:41.242: E/WindowManager(19552): android.view.WindowLeaked: Activity kr.co.myapp.customer.AppCustomer_PhotoActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@47f14e70 that was originally added here
08-28 15:09:41.242: E/WindowManager(19552): at android.view.ViewRoot.<init>(ViewRoot.java:247)
08-28 15:09:41.242: E/WindowManager(19552): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:171)
08-28 15:09:41.242: E/WindowManager(19552): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:114)
08-28 15:09:41.242: E/WindowManager(19552): at android.view.Window$LocalWindowManager.addView(Window.java:424)
08-28 15:09:41.242: E/WindowManager(19552): at android.app.Dialog.show(Dialog.java:241)
08-28 15:09:41.242: E/WindowManager(19552): at android.app.ProgressDialog.show(ProgressDialog.java:107)
08-28 15:09:41.242: E/WindowManager(19552): at android.app.ProgressDialog.show(ProgressDialog.java:90)
08-28 15:09:41.242: E/WindowManager(19552): at kr.co.myapp.util.utils.DialogProgress(utils.java:83)
08-28 15:09:41.242: E/WindowManager(19552): at kr.co.myapp.customer.AppCustomer_PhotoActivity.send_picture(AppCustomer_PhotoActivity.java:186)
08-28 15:09:41.242: E/WindowManager(19552): at kr.co.myapp.customer.AppCustomer_PhotoActivity.onActivityResult(AppCustomer_PhotoActivity.java:267)
08-28 15:09:41.242: E/WindowManager(19552): at android.app.Activity.dispatchActivityResult(Activity.java:3890)
08-28 15:09:41.242: E/WindowManager(19552): at android.app.ActivityThread.deliverResults(ActivityThread.java:3511)
08-28 15:09:41.242: E/WindowManager(19552): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3557)
08-28 15:09:41.242: E/WindowManager(19552): at android.app.ActivityThread.access$2800(ActivityThread.java:125)
08-28 15:09:41.242: E/WindowManager(19552): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2063)
08-28 15:09:41.242: E/WindowManager(19552): at android.os.Handler.dispatchMessage(Handler.java:99)
08-28 15:09:41.242: E/WindowManager(19552): at android.os.Looper.loop(Looper.java:123)
08-28 15:09:41.242: E/WindowManager(19552): at android.app.ActivityThread.main(ActivityThread.java:4627)
08-28 15:09:41.242: E/WindowManager(19552): at java.lang.reflect.Method.invokeNative(Native Method)
08-28 15:09:41.242: E/WindowManager(19552): at java.lang.reflect.Method.invoke(Method.java:521)
08-28 15:09:41.242: E/WindowManager(19552): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
08-28 15:09:41.242: E/WindowManager(19552): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
08-28 15:09:41.242: E/WindowManager(19552): at dalvik.system.NativeStart.main(Native Method)




MultipartEntity 클래스가 없다는 내용같은데요.... 아래의 페이지에서 jar 파일 다운받아서 임포트 시키시면 됩니다.
http://giantsleepping.tistory.com/108