2015년 10월 28일 수요일

안드로이드 6.0에서 Apache의 HttpClient가 import안되는 문제 해결





안드로이드 6.0에서 Apche의 HttpClient가 import안되는 문제 해결

안드로이드가 6.0으로 업데이트 되면서 기존에 안드로이드와 서버와의 통신, 데이터 송, 수신에
사용되던 Apache의 HttpClient를 구글이 원천적으로 사용을 못하게 해 놨다. ;;;

아래 클래스들이 서버로의 송, 수신시 필요로 하는 것들인데 원천적으로 import가 안된다.
org.apache.http.HttpEntity;
org.apache.http.HttpResponse;
org.apache.http.client.ClientProtocolException;
org.apache.http.client.HttpClient;
org.apache.http.client.methods.HttpPost;
org.apache.http.entity.StringEntity;
org.apache.http.impl.client.DefaultHttpClient;
org.apache.http.util.EntityUtils;

https://developer.android.com/intl/ko/about/versions/marshmallow/android-6.0-changes.html#behavior-apache-http-client

따라서 HttpClient를 사용해야할 상황에서는 좀 난감해 진다.
구글 API Reference상에서 설명조차 제공이 안된다.
안드로이드 스튜디오를 사용하는 경우라면 해당 해법들이 검색하면 제법 나오는데
이클립스 상황에서는 땀난다...

해법은 다음 3개의 jar 파일을 libs폴더에 복사해 두면 이제부터 Ctrl-Shift-O로 정상적으로 import가 된다.

httpclient-4.4.1.jar
commons-logging-1.2.jar
httpcore-4.4.1.jar

혹은 구글 API Reference 문서에서 추천하는 방식인 HttpURLConnection을 사용하는 방식도 있겠다.

댓글 없음:

댓글 쓰기