ubuntu打开uiautomatorviewer失败简单记录

由于Java版本过高,启动uiautomatorviewer失败。
这个错误说明在运行 uiautomatorviewer 时,使用了旧版 Java 启动参数 -Djava.ext.dirs,但这已经在新版 JDK(Java 9 及以上)中被废弃了,导致启动失败。

user@user:/D/Android/Sdk/tools/bin$ ./uiautomatorviewer
-Djava.ext.dirs=/D/Android/Sdk/tools/lib/x86_64:/D/Android/Sdk/tools/lib is not supported.  Use -classpath instead.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

解决办法,运行之前修改java版本为java8。
这里临时设置下。

user@user:/D/Android/Sdk/tools/bin$ java --version
openjdk 11.0.24 2024-07-16
OpenJDK Runtime Environment (build 11.0.24+8-post-Ubuntu-1ubuntu320.04)
OpenJDK 64-Bit Server VM (build 11.0.24+8-post-Ubuntu-1ubuntu320.04, mixed mode, sharing)
user@user:/D/Android/Sdk/tools/bin$ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
user@user:/D/Android/Sdk/tools/bin$ export PATH=$JAVA_HOME/bin:$PATH
user@user:/D/Android/Sdk/tools/bin$ java -version
openjdk version "1.8.0_422"
OpenJDK Runtime Environment (build 1.8.0_422-8u422-b05-1~20.04-b05)
OpenJDK 64-Bit Server VM (build 25.422-b05, mixed mode)

然后就可以启动了

user@user:/D/Android/Sdk/tools/bin$ ./uiautomatorviewer
Gtk-Message: 17:24:28.283: Failed to load module "canberra-gtk-module"
05:56:22 E/DeviceMonitor: Adb connection Error:EOF
05:56:22 E/DeviceMonitor: Connection attempts: 1
05:56:23 E/DeviceMonitor: Connection attempts: 2
05:56:24 E/DeviceMonitor: Connection attempts: 3
05:56:25 E/DeviceMonitor: Connection attempts: 4
05:56:26 E/DeviceMonitor: Connection attempts: 5
05:56:27 E/DeviceMonitor: Connection attempts: 6
05:56:28 E/DeviceMonitor: Connection attempts: 7
05:56:29 E/DeviceMonitor: Connection attempts: 8
05:56:30 E/DeviceMonitor: Connection attempts: 9
05:56:31 E/DeviceMonitor: Connection attempts: 10
05:56:32 E/DeviceMonitor: Connection attempts: 11
05:56:32 E/adb: * daemon not running; starting now at tcp:5037
05:56:35 E/adb: * daemon started successfully

使用可以简单参考这个:
Android Studio 中使用uiautomatorviewer插件

类似的还有monitor,版本过高也会启动失败。可以直接加到程序里面(可以直接用vscode等打开修改)。
/D/Android/Sdk/tools/monitor

+export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
+export PATH=$JAVA_HOME/bin:$PATH
exec $app

或者做个启动脚本

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
cd xxx
./xx
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容