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

相关推荐
stevenzqzq1 天前
ctrl +B和ctrl+shift +B的区别
android·ide·android studio
我命由我123453 天前
Android Jetpack Compose - Compose 重组、AlertDialog、LazyColumn、Column 与 Row
android·java·java-ee·kotlin·android studio·android jetpack·android-studio
JulyYu3 天前
【Android】第三方库依赖引发的异常情况排查
android·android studio
我命由我123454 天前
Android 控件 - 悬浮常驻文本交互(IBinder 实现、BroadcastReceiver 实现)
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
_李小白4 天前
【Android 性能分析】第三天:Android Studio Profiler
android·stm32·android studio
俺不理解4 天前
Android Studio 打开项目卡在 Importing xx Gradle Project
android·ide·android studio
用户69371750013844 天前
31. Kotlin 扩展:扩展的边界:不可重写的扩展与可空接收者
android·kotlin·android studio
我命由我123454 天前
Android Jetpack Compose - enableEdgeToEdge 函数、MaterialTheme 函数、remember 函数
android·java·java-ee·kotlin·android studio·android jetpack·android-studio
TO_ZRG5 天前
Unity打包安卓、iOS知识点
android·unity·android studio
用户69371750013845 天前
谷歌官方推荐:Android 性能优化全攻略——从工具到实战,两周提升 App 评分
android·android studio·android jetpack