UIAutomatorViewer 安装指南 (macOS m3pro 芯片)

UIAutomatorViewer 安装指南 (macOS m3pro 芯片)

环境信息

  • 系统:macOS (Apple Silicon / M 系列芯片)
  • Java:OpenJDK 25.0.1 (Homebrew 安装)
  • 安装日期:2025 年 11 月 28 日

一、安装步骤

1. 安装 Maven(临时使用,完成后可卸载)

bash 复制代码
brew install maven
mvn -version  # 验证安装

2. 克隆项目代码

bash 复制代码
cd /Users/wang/Library/Android/sdk/platform-tools
git clone https://github.com/cmlanche/uiautomatorviewer-standalone.git

3. 替换 SWT 库(适配 macOS ARM64)

原项目的 SWT 库是 Windows 版本,需要下载 macOS ARM64 版本:

bash 复制代码
# 下载 macOS ARM64 版本的 SWT
curl -L -o /tmp/swt-macos.zip "https://download.eclipse.org/eclipse/downloads/drops4/R-4.29-202309031000/swt-4.29-cocoa-macosx-aarch64.zip"

# 解压
cd /tmp && unzip -o swt-macos.zip -d swt-macos

# 替换项目中的 swt.jar
cp /tmp/swt-macos/swt.jar /Users/wang/Library/Android/sdk/platform-tools/uiautomatorviewer-standalone-1.0/libs/swt.jar

4. Maven 打包

bash 复制代码
cd /Users/wang/Library/Android/sdk/platform-tools/uiautomatorviewer-standalone-1.0
mvn clean package -DskipTests

5. 复制 jar 包到 adb 同级目录

bash 复制代码
cp target/uiautomatorviewer-standalone-1.1-all.jar /Users/wang/Library/Android/sdk/platform-tools/

6. 配置快捷命令

将以下内容添加到 ~/.zshrc

bash 复制代码
# UIAutomatorViewer 快捷命令
alias uiviewer="cd /Users/wang/Library/Android/sdk/platform-tools && /opt/homebrew/Cellar/openjdk/25.0.1/libexec/openjdk.jdk/Contents/Home/bin/java -XstartOnFirstThread -jar ./uiautomatorviewer-standalone-1.1-all.jar"

使配置生效:

bash 复制代码
source ~/.zshrc

7. 清理(可选)

bash 复制代码
# 删除临时文件
rm -rf /tmp/swt-macos /tmp/swt-macos.zip

# 删除源代码目录
rm -rf /Users/wang/Library/Android/sdk/platform-tools/uiautomatorviewer-standalone-1.0

# 卸载 maven(不再需要)
brew uninstall maven

二、使用方法

在任意终端输入:

bash 复制代码
uiviewer

即可启动 UIAutomatorViewer。


三、重要说明

  1. 必须使用 Java 17+:新版 SWT 库需要 Java 17 或更高版本,本机使用 Java 25
  2. 必须在 adb 目录下运行:程序需要调用 adb,所以 jar 包必须放在 adb 同级目录
  3. 必须使用 -XstartOnFirstThread 参数:这是 macOS 上 SWT 应用的要求

四、文件位置

文件 路径
jar 包 /Users/wang/Library/Android/sdk/platform-tools/uiautomatorviewer-standalone-1.1-all.jar
adb /Users/wang/Library/Android/sdk/platform-tools/adb
Java /opt/homebrew/Cellar/openjdk/25.0.1/libexec/openjdk.jdk/Contents/Home/bin/java

相关推荐
我命由我123455 天前
Android 开发问题:EditText 控件的 android:imeOptions=“actionDone“ 属性不生效
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
我命由我123455 天前
Android 开发问题:获取到的 Android ID 发生了变化
android·java·开发语言·java-ee·android studio·android jetpack·android runtime
我命由我123455 天前
Android 开发问题:Unable to find explicit activity class
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
终将老去的穷苦程序员8 天前
基于Android Studio开发的安卓图书借阅管理系统
java·sqlite·android studio·android-studio
问心无愧05138 天前
ctf show web入门107
android·前端·笔记·android studio
我命由我123458 天前
Android 开发问题:View 的 getWidth、getHeight 方法返回的值都为 0
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
星间都市山脉8 天前
Android STS(Security Test Suite)完整介绍与测试流程
android·java·linux·windows·ubuntu·android studio·androidx
Ycocol9 天前
AS同一个目录下的类导入导入其他类爆红无法跳转但是可以编译
android·ide·android studio
我命由我123459 天前
由 ImageView 获取到的 Drawable 对象,它的 intrinsicWidth、intrinsicWidth 与实际图片的尺寸
java·开发语言·java-ee·android studio·android jetpack·android-studio·android runtime
测试开发-学习笔记10 天前
Android studio安装
android·ide·android studio