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

相关推荐
我命由我123452 天前
Android 广播 - 静态注册与动态注册对广播接收器实例创建的影响
android·java·开发语言·java-ee·android studio·android-studio·android runtime
金融RPA机器人丨实在智能3 天前
Android Studio开发App项目进入AI深水区:实在智能Agent引领无代码交互革命
android·人工智能·ai·android studio
程序员老刘·3 天前
Android Studio Otter 3 发布:日常开发选AS还是Cursor?
flutter·android studio·ai编程·跨平台开发·客户端开发
JMchen1235 天前
AR Core与CameraX的融合:测量应用从原理到实现
android·经验分享·程序人生·ar·移动开发·android studio·camerax
JMchen1235 天前
Android相机硬件抽象层(HAL)逆向工程:定制ROM的相机优化深度指南
android·开发语言·c++·python·数码相机·移动开发·android studio
我命由我123456 天前
Android 开发问题:Duplicate class android.support.v4.app.INotificationSideChannel...
android·java·开发语言·java-ee·android studio·android-studio·android runtime
风流倜傥唐伯虎8 天前
./gradlew assembleDebug和gradle build区别
android·android studio
我命由我123458 天前
Android 开发 Room 数据库升级问题:A migration from 6 to 7 was required but not found.
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
JMchen1238 天前
现代Android图像处理管道:从CameraX到OpenGL的60fps实时滤镜架构
android·图像处理·架构·kotlin·android studio·opengl·camerax
jian110589 天前
Android studio 调试flutter 运行自己的苹果手机上
flutter·智能手机·android studio