On a fresh Ubuntu 14.04.2 LTS, android-uiautomatorviewer just does not work.
install android-uiautomatorviewer and execute uiautomatorviewer:
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jface/window/ApplicationWindow
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jface.window.ApplicationWindow
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 14 more
The problem is that the wrapper script pass /usr/share/java as parameter for -Djava.ext.dirs, while uiautomatorviewer also depends on eclipse-rcp jars installed in /usr/lib/eclipse/plugins.
On a fresh Ubuntu 14.04.2 LTS, android- uiautomatorview er just does not work.
install android- uiautomatorview er and execute uiautomatorviewer: NoClassDefFound Error: org/eclipse/ jface/window/ ApplicationWind ow ClassLoader. defineClass1( Native Method) ClassLoader. defineClass( ClassLoader. java:800) SecureClassLoad er.defineClass( SecureClassLoad er.java: 142) URLClassLoader. defineClass( URLClassLoader. java:449) URLClassLoader. access$ 100(URLClassLoa der.java: 71) URLClassLoader$ 1.run(URLClassL oader.java: 361) URLClassLoader$ 1.run(URLClassL oader.java: 355) AccessControlle r.doPrivileged( Native Method) URLClassLoader. findClass( URLClassLoader. java:354) ClassLoader. loadClass( ClassLoader. java:425) ClassLoader. loadClass( ClassLoader. java:412) Launcher$ AppClassLoader. loadClass( Launcher. java:308) ClassLoader. loadClass( ClassLoader. java:358) LauncherHelper. checkAndLoadMai n(LauncherHelpe r.java: 482) ClassNotFoundEx ception: org.eclipse. jface.window. ApplicationWind ow URLClassLoader$ 1.run(URLClassL oader.java: 366) URLClassLoader$ 1.run(URLClassL oader.java: 355) AccessControlle r.doPrivileged( Native Method) URLClassLoader. findClass( URLClassLoader. java:354) ClassLoader. loadClass( ClassLoader. java:425) ClassLoader. loadClass( ClassLoader. java:358)
Exception in thread "main" java.lang.
at java.lang.
at java.lang.
at java.security.
at java.net.
at java.net.
at java.net.
at java.net.
at java.security.
at java.net.
at java.lang.
at java.lang.
at sun.misc.
at java.lang.
at sun.launcher.
Caused by: java.lang.
at java.net.
at java.net.
at java.security.
at java.net.
at java.lang.
at java.lang.
... 14 more
The problem is that the wrapper script pass /usr/share/java as parameter for -Djava.ext.dirs, while uiautomatorviewer also depends on eclipse-rcp jars installed in /usr/lib/ eclipse/ plugins.
The patch attached fixes the problem.