본문 바로가기

안드로이드 개발 팁/일반

Draw9Patch가 실행되지 않을 때?


안드로이드 SDK의 툴 중 하나인 Draw 9-patch.
나인패치 이미지를 만들 때 쓰는 툴입니다. 처음에 앱 디자인 들어갈때 빼고 다른 때는 자주 쓸 일이 없지요.

최근 GUI 강의를 듣고있어서.... 겸사겸사 제 예전 앱 (내 경로) 디자인 개선을 하던 중이였습니다. 디자인 관련 수업은 거의 처음 듣는지라 새로워서 좋기도 했지만, 기본적인 기능만 아는 포토샵과 아예 모르는 일러스트레이터(...)를 다루려다보니 거의 패닉..... 이더군요..... 하하하핳......... 안드로이드는 쉬운거였습니다........ ㅠㅠㅠㅠ

뭐, 잡담은 여기에서 그만하고...... 여하튼 앱에 쓸 나인패치 이미지를 만들려고 Draw 9-patch 툴을 실행했는데... 이게 왠일입니까? 실행이 안됩니다...... ㅠㅠㅠ 알수 없는 에러만 뿜어내고....

에러내용:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/jdesktop/swingworker/SwingWorker at com.android.draw9patch.Application$1.run(Application.java:48) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:633) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Caused by: java.lang.ClassNotFoundException: org.jdesktop.swingworker.SwingWorker at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) ... 9 more

침착히 구글링을 해보니.....

최근 안드로이드 SDK 툴이 revision 8로 업데이트되면서 구글이 또 실수를 했나봅니다.
저번에는 hierarchyviewer를 빠뜨리더니, 이번에도 파일 하나를 빠뜨렸네요. -_-;;;; 이번에는 swing-worker-1.1.jar 파일이네요.

해당 파일은 안드로이드 SDK 툴 리비전 7의 /tools/lib 경로에서 찾을 수 있고, 리비전 7이 없으시다면 아래 파일을 다운로드하여 안드로이드 SDK가 설치된 경로의 /tools/lib 경로에 넣어주시면 됩니다.