Reputation: 49
Hi I am trying to open uiautomatorviewer after installing androidsdk-uiautomatorviewer in ubuntu 14.04
Everytime i am trying to open uiautomator viewer I am getting the following error.
root@xxxxxxx-HP-Z400-Workstation:/home/xxxxx# uiautomatorviewer
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jface/window/ApplicationWindow
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
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:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jface.window.ApplicationWindow
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:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 14 more
Could not find the main class: com.android.uiautomator.UiAutomatorViewer. Program will exit.
I dint understand why this? i have set path for sdk tools and platform-tools. please help me to get out of it.
Upvotes: 0
Views: 2098
Reputation: 2969
To fix it, modify /usr/bin/uiautomatorviewer
with this patch:
--- /usr/bin/uiautomatorviewer.ori 2015-03-31 12:23:52.307244926 +0200
+++ /usr/bin/uiautomatorviewer 2015-03-31 12:28:19.849396991 +0200
@@ -74,5 +74,6 @@
done
jarpath="$frameworkdir/$jarfile"
+deps="$frameworkdir:/usr/lib/eclipse/plugins"
-exec "${javaCmd}" $javaOpts -Djava.ext.dirs="$frameworkdir" -Dcom.android.uiautomator.bindir="$progdir" -jar "$jarpath" "$@"
+exec "${javaCmd}" $javaOpts -Djava.ext.dirs="$deps" -Dcom.android.uiautomator.bindir="$progdir" -jar "$jarpath" "$@"
I just reported the bug here: https://bugs.launchpad.net/ubuntu/+source/androidsdk-tools/+bug/1438629
EDIT: Or better:
sudo ln -s ../../lib/eclipse/plugins/org.eclipse.jface_3.8.0.dist.jar /usr/share/java
sudo ln -s ../../lib/eclipse/plugins/org.eclipse.core.commands_3.6.1.dist.jar /usr/share/java
Upvotes: 4