Android uiautomatorviewer无法启动

uiautomatorviewer 是android sdk提供的用来抓取布局的工具。然而有时候会出现无法启动,点击闪退的现象。

先说原因,JDK版本高于java8,google 没有进行适配。

问题出在uiautomatorviewer.bat 的以下代码中:

set java_exe=call ..\lib\find_java.bat

最后实际上去调用了:find_java64.exe 来查找 JDK 的安装路径,JDK8以后呢,不需要配置ClassPath环境变量,结果直接找不到。

有的童鞋很聪明,直接改代码:set java_exe=xxxx/jdk/bin/java.exe
一运行还是不行,报错:

-Djava.ext.dirs=..\lib\x86_64;..\lib is not supported.  Use -classpath instead.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

这里实际上是uiautomatorviewer.bat的启动代码出了问题,已经到最后一步了,还是失败。原因还是 class-path 问题,java8之后没有了,-Djava.ext.dirs 不支持。补全jdk路径,并按照提示修改:

call "%java_exe%" "-classpath=%javaextdirs%" "-Dcom.android.uiautomator.bindir=%prog_dir%" -jar %jarpath% %*

其实还是不行。

——只能回退JDK8
而对于不想把JDK8配置为系统环境变量的同学,其实可以在uiautomatorviewer .bat 找到java_exe并修改代码,配置临时环境变量,就可以正常使用:

set JAVA_HOME=D:/xxx/Java/java-se-8u41-ri
set java_exe="%JAVA_HOME%"/bin/java.exe

Android uiautomatorviewer无法启动相关推荐

  1. Android系统的启动过程

    Android系统的启动过程可以简单地总结为以下几个流程: 加载BootLoader -> 初始化内核 -> 启动init进程 -> init进程fork出Zygote(孵化器)进程 ...

  2. linux的android工作室,Android工作室在启动时抛出错误,linux机器

    我只是将我的Android Studio从1.5升级到2.3,我只是解压缩文件夹并复制到下载文件夹中,现在当我启动android studio时,我收到了此消息:Android工作室在启动时抛出错误, ...

  3. android os开机画面,Android简单实现启动画面的方法

    本文实例讲述了Android简单实现启动画面的方法.分享给大家供大家参考,具体如下: 核心代码: package com.demo.app; import android.app.Activity; ...

  4. Android是怎么启动的-[Android取经之路]

    摘要:本节主要来讲解Android是如何启动的 阅读本文大约需要花费10分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的平台设计,欢迎关注我,谢谢! ...

  5. android+启动脚本,imx6q android 添加开机启动脚本

    1.在xx/out/target/product/sabresd_6dq/root/init.rc中添加以下内容 ========================================== ...

  6. 【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( 在 PathClassLoader 和 BootClassLoader 之间插入 DexClassLoader )

    文章目录 前言 一.在 PathClassLoader 和 BootClassLoader 之间插入 DexClassLoader 1.创建 DexClassLoader 2.使用 DexClassL ...

  7. 【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( 使用 DexClassLoader 获取组件类失败 | 失败原因分析 | 自定义类加载器没有加载组件类的权限 )

    文章目录 一.使用 DexClassLoader 获取组件类失败报错 二.失败原因分析 一.使用 DexClassLoader 获取组件类失败报错 在上一篇博客 [Android 逆向]启动 DEX ...

  8. android频繁点击ui崩溃,android easeui 集成 启动崩溃

    android easeui 集成 启动崩溃 07-19 15:46:20.084 829-829/? E/WifiTrafficPoller:  packet count Tx=9079 Rx=18 ...

  9. Android 解锁屏启动过程

    Android 解锁屏启动过程 一. 开机启动 在开机过程中无线模块初始化时获取SIM卡,状态.在初始化完成后调用vm.systemReady()函数通知进入相应的Lock Screen进行解锁. 1 ...

  10. android服务的启动过程,Android Service的启动过程(上)

    原标题:Android Service的启动过程(上) (点击上方公众号,可快速关注) 来源:伯乐在线专栏作者 - xuyinhuan 链接:http://android.jobbole.com/85 ...

最新文章

  1. IO模式——同步(堵塞、非堵塞)、异步
  2. 配置Exchange 2007边缘同步
  3. linux 内核 链表 list_head 使用方法
  4. Java8中的Mapreduce
  5. Linux /etc/skel目录
  6. mysql5.6.4m7 linux安装_mysql-5.6.4-m7installinlinux
  7. MYSQL DELETE 别名
  8. 使用ASP.NET Core开始使用gRPC客户端和服务器
  9. 将webService(CXF)与spring集成
  10. 惠普HP Designjet 5100 打印机驱动
  11. JMS 消息传送模式、消息签收以及spring jmsTemplate配置
  12. 数字化图书馆软硬件环境要求-转自《博奥智源》
  13. 前端页面 div+css内容太长,实现点击展开余下全文(修改版)
  14. 如何制作网页棋牌游戏
  15. Bluefish编辑成果即时预览
  16. 中国移动SP短信网关接入平台
  17. 关于运筹学三方库的编译和使用 ortools
  18. 当我写博客时,我在想什么
  19. 如何用ArcScene进行洪水淹没分析
  20. termux安装jupyters失败解决方案

热门文章

  1. oracle start with connect by order siblings by用法
  2. 使用超级表格快速创建在线表单(如问卷调查、报名表)
  3. 青岛大学计算机调剂群,2019山东青岛大学硕士研究生调剂公告(4月16日更新)...
  4. 第三方平台代微信公众号开发
  5. 计算机组装安装主板的依靠什么初步定位,电脑维修高级全科班
  6. java rd th 小票机_英语日期rd、th有什么区别,怎么运用?
  7. 《从0到1 开启商业与未来的秘密》阅读心得
  8. IE的Kiosk模式
  9. 社交电商难定义,蘑菇街、小红书、拼多多注定要兵分三路?
  10. 差文解析 IIRC: Incremental Implicitly-Refined Classification