2014년 5월 23일 금요일

Android WebDAV server using Milton

우선 Milton의 샘플 GS1을 따라해보자.

Android 개발 도구 ADT에서 Maven Project를 만들려고 하는데, Maven Project가 없다. m2e-wtp를 설치한다.

이제 Maven Project를 만들 수 있다.

실행. Jetty Server가 실행된다.


Finder에서 접속하면, 아래와 같이 보인다.
이제, 이 프로젝트를 안드로이드에서 실행되도록 수정해보자.

안드로이드 프로젝트를 만들고, jetty 파일들을 다운로드해서 프로젝트에 추가한다. jetty-distribution-9.1.5.v20140505를 다운로드했다.

실행하면, 여러 jar 파일에 about.html이 중복되어 에러가 발생한다. 아래와 같이 처리한다.

find . -name '*.jar' -exec zip -d {} about.html \;

이번에는 java.lang.management.ManagementFactory 클래스를 찾지 못한다는 에러 메시지와 함께 실행이 안된다. 한참 동안 검색한 결과, 안드로이드의 Java는 Java가 아니라는 결론과 함께 ManagementFactory를 올리는 것을 포기하고, jetty-distribution-7.6.15.v20140411을 다운로드해서 올렸다. 이번에도 마찬가지로 about.html들은 빼야 한다.

일단 포함시킨 라이브러리들은 아래와 같다.


  • jetty-continuation
  • jetty-http
  • jetty-io
  • jetty-security
  • jetty-server
  • jetty-servlet
  • jetty-util
  • jetty-webapp
  • servlet-api-2.5
안드로이드 앱을 실행한 후, 웹브라우저를 실행해서 접속하면 아래와 같이 파일 목록이 표시된다.




권한 문제로 내용이 표시되지 않는 폴더들도 있다.

일단은 jetty를 안드로이드에 올리기는 성공. 이제 milton을 올려보자.

To be Continued..