2017-03-20 1 views
0

C:\Users\krrishna\AppData\Local\Android\sdk\tools\lib\uiautomatorviewer.jar에있는 uiautomatorviewer의 Android 라이브러리에서 메소드 중 하나를 호출하려고했습니다. 나는이 라이브러리를 IntelliJ -> Project Right Click -> 열린 모듈 설정 -> jars 디렉토리 -> finish로 추가하여이 라이브러리를 시도했다..NoClassDefFoundError IntelliJ에서 AndroidSDK jar 파일로 작업하는 중

여기서 디바이스 객체는 라이브러리에서 리턴 된 IDevice이며, 나는 AndroidDebugBridge.getDevices()라고 불렀다.

device.getHierarchyViewer().getFocusedWindowName(); 

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/eclipse/swt/graphics/Device 
at com.android.chimpchat.hierarchyviewer.HierarchyViewer.setupViewServer(HierarchyViewer.java:47) 
at com.android.chimpchat.hierarchyviewer.HierarchyViewer.<init>(HierarchyViewer.java:43) 
at com.android.chimpchat.adb.AdbChimpDevice.getHierarchyViewer(AdbChimpDevice.java:95) 
at com.myandroidcode.android.jframes.JwtFrame$22.mouseReleased(MainFrame.java:621) 
at java.awt.Component.processMouseEvent(Component.java:6533) 
at java.awt.Component.processEvent(Component.java:6298) 
at java.awt.Container.processEvent(Container.java:2236) 
at java.awt.Window.processEvent(Window.java:2025) 
at java.awt.Component.dispatchEventImpl(Component.java:4889) 
at java.awt.Container.dispatchEventImpl(Container.java:2294) 
at java.awt.Window.dispatchEventImpl(Window.java:2746) 
at java.awt.Component.dispatchEvent(Component.java:4711) 
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) 
at java.awt.EventQueue.access$500(EventQueue.java:97) 
at java.awt.EventQueue$3.run(EventQueue.java:709) 
at java.awt.EventQueue$3.run(EventQueue.java:703) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) 
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) 
at java.awt.EventQueue$4.run(EventQueue.java:731) 
at java.awt.EventQueue$4.run(EventQueue.java:729) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) 
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) 
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) 
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) 
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) 
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.graphics.Device 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
... 30 more 

답변

0

알아 냈습니다. 그 라이브러리 아래에 DeviceBridge라는 파일을 찾고 그것을 DeviceBridge.java 클래스가있는 다른 .jar 파일에서 참조 할 수 없습니다. 이제 어떻게 다른 .jar 파일을 참조 할 수 있는지 알아야합니다.

com.android.chimpchat.hierarchyviewer.HierarchyViewer.setupViewServer(HierarchyViewer.java:47) 
0

이 표시된대로 받는다는에서 라이브러리를 다운로드 할 경우, 예를 들어 요구를 다른 라이브러리 자체를 사용하는 라이브러리는 다음 라이브러리를 uset하는 데 필요한 라이브러리를 보여줍니다 컴파일 의존성라는 섹션이있을 것 같다 사진 속에. enter image description here

+0

내 경우 어떻게 내가 놓친 라이브러리인지 어떻게 알 수 있습니까? 안드로이드 SDK 라이브러리가 많이 있다는 것을 알고 있지만 필요하다면 다른 것들을 추가하고 싶습니다. – krrishna

+0

정확히 어떤 라이브러리를 사용하고 있습니까? –

관련 문제