0%

修正 Android 中 DDMS uiautomatorviewer 工具

Android SDK 当中原来有一个 Tools 工具包,全名 Android SDK Tools,其中的 DDMSuiautomatorviewer 是原来那个时代必不可少的工具。现在这些功能已经被 Android Studio 替代,导致工具没人维护,很有可能已经运行不起了来了。

有时候需要临时调试一下应用,搭 AndroidStudio 环境比较麻烦。可以考虑继续用工具包内的工具来调试。

下载

目前 SDK Manager 里面已经将 Android SDK Tools 标记为过时,但是还能安装:
install-android-sdk-tools.png

没有 SDK Manager 的话,也可以手动下载使用,下载地址如下:
https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip

DDMS

入口位置:tools\monitor.bat

这个工具依赖 JDK 8, 如果没有安装或 JAVA_HOME 指向的 JDK 环境高于 JDK 8 就会报错:
ddms-error.png

解决办法:

  1. 下载并安装 JDK 8
  2. 修改 tools\lib\monitor-x86_64\monitor.ini 文件, 开头位置指定 JDK 8 路径:
    -vm
    C:\Program Files\Eclipse Adoptium\jdk-8.0.402.6-hotspot\bin\
    -startup
    plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120913-144807
    -data
    @noDefault
    -vmargs
    -XX:MaxPermSize=256m
    -Xms512m
    -Xmx1024m
    
  3. 运行 monitor.bat

uiautomatorviewer

入口位置:tools\bin\uiautomatorviewer.bat

这个工具也依赖 JDK 8, 如果没有安装或 JAVA_HOME 指向的 JDK 环境高于 JDK 8 就会报错:

ERROR: No suitable Java found. In order to properly use the Android Developer
Tools, you need a suitable version of Java JDK installed on your system.
We recommend that you install the JDK version of JavaSE, available here:
  http://www.oracle.com/technetwork/java/javase/downloads

If you already have Java installed, you can define the JAVA_HOME environment
variable in Control Panel / System / Avanced System Settings to point to the
JDK folder.

You can find the complete Android SDK requirements here:
  http://developer.android.com/sdk/requirements.html

解决办法:

  1. 下载并安装 JDK 8
  2. 命令行下手动将 JAVA_HOME 指向 JDK 8 路径(也可以直接修改 uiautomatorviewer.bat):
    set JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-8.0.402.6-hotspot
    

    JAVA_HOME 是一个环境变量,可以在 系统变量 中设置,也可以在 用户变量 中设置。

  3. 接着在环境变量正确的终端下运行 uiautomatorviewer.bat
  • 本文作者: 6x
  • 本文链接: https://6xyun.cn/article/211
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-ND 许可协议。转载请注明出处!