제임스딘딘의
Tech & Life

개발자의 기록 노트/Android

[안드로이드] ADT 8.0.0으로 업데이트 후의 draw9patch 에러

제임스-딘딘 2011. 1. 17. 13:24

ADT 8.0.0으로 업데이트 후의 draw9patch 에러


Android SDK, draw9patch Tool


Android SDK에는 draw9patch 라는 툴이 내장되어있다.

이 툴은 auto resizing이 필요한 (버튼과같은) 이미지가 있을 때, 어느 영역을 resizing 할것인지를 지정하는 툴이라고 생각하면 이해가 쉽다.

그런데 Android SDK버전을 진저브레드로 업데이트 이후, draw9patch 실행시 아래와같은 예외메세지를 뿌리며 프로그램이 죽는 증상이 발생할 수 있다. (스트레스!)

원인은 swing-worker.jar 파일이 ANDROID_SDK설치폴더/tools/lib 에 없기때문에 발생한다.

해결책은 해당파일을 해당위치에 넣어주면 된다.
swing-worker.jar 파일은 아래에 링크해두었다.


swing-worker.jar


Marius Mathiesen라는 한 개발자가 문제점과 해결책을 찾았고, Google 안드로이드 코드 페이지에는 이미 보고됐다고 한다.

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:597)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)

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