菜鸟科技网

mac adb 命令

安装 ADB

在 macOS 上,安装 adb 最推荐、最简单的方法是使用 Homebrew,如果你还没有安装 Homebrew,请先执行以下命令安装:

mac adb 命令-图1
(图片来源网络,侵删)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完 Homebrew 后,直接安装 android-platform-tools 包,它会自动包含 adbfastboot

brew install android-platform-tools

安装完成后,你可以验证一下是否安装成功:

adb version

如果看到版本信息,说明安装成功。

⚠️ 注意:

mac adb 命令-图2
(图片来源网络,侵删)
  • 如果你使用的是 Apple Silicon (M1/M2/M3) Mac,Homebrew 默认会安装在 /opt/homebrew,确保你的终端的 PATH 环境变量包含了 /opt/homebrew/bin,这样 adb 命令才能被找到,在安装 Homebrew 时会自动配置好。

连接设备

要让你的 Mac 识别到安卓手机或模拟器,需要进行 USB 连接并开启调试模式。

手机/模拟器端设置

  • 开启“开发者选项”:
    • 进入手机的 “设置” -> “关于手机” (或类似名称)。
    • 连续点击 “版本号” (或“内部版本号”) 7次左右,直到提示“您已处于开发者模式”。
  • 启用“USB 调试”:
    • 返回 “设置”,找到并进入 “开发者选项”
    • 开启 “USB 调试” 开关。

Mac 端连接

  • 通过 USB 连接:

    1. 使用 USB 数据线将手机连接到 Mac。
    2. 在手机上,系统会弹出一个对话框,询问“是否允许 USB 调试?”,请 勾选“始终允许” 并点击 “确定”
    3. 在 Mac 的终端中运行 adb devices 命令来检查连接状态。
  • 通过 Wi-Fi 连接 (无需插线): 这是更方便的方式,尤其适合频繁操作。

    使用 adb connect (推荐)

    mac adb 命令-图3
    (图片来源网络,侵删)
    1. 手机和 Mac 连接到同一个 Wi-Fi 网络
    2. 在手机上获取 IP 地址:
      • 进入手机的 “设置” -> “关于手机” -> “状态信息” (或类似路径),找到 “IP 地址” 并记下来。
      • 或者,在手机上打开命令行工具(如 Termux),输入 ifconfig 查看 wlan0rmnet_data0 等网卡的 IP 地址。
    3. 在手机上通过 USB 连接一次:
      • 先用 USB 线连接手机和 Mac。
      • 在手机上允许 USB 调试。
      • 在 Mac 终端中运行 adb tcpip 5555,这个命令会让手机监听 5555 端口的 TCP 连接。
      • 拔掉 USB 数据线。
    4. 在 Mac 上通过 Wi-Fi 连接:
      • 在 Mac 终端中,使用刚才获取的 IP 地址进行连接:
        adb connect <手机的IP地址>:5555

        adb connect 192.168.1.100:5555

    5. 验证连接:
      adb devices

      如果看到设备列表,并且状态为 device,说明 Wi-Fi 连接成功,之后就可以一直无线使用了,除非重启手机或需要重新执行 tcpip 5555

    使用 Scrcpy (图形化工具)

    Scrcpy 是一个强大的屏幕镜像工具,它内部也使用 ADB 进行连接,安装和使用非常简单。

    1. 安装 Scrcpy:
      brew install scrcpy
    2. 确保手机和 Mac 在同一 Wi-Fi 网络
    3. 通过 USB 连接一次并允许调试 (这一步是为了让 Scrcpy 自动获取 IP,或者你也可以手动指定)。
    4. 启动 Scrcpy:
      scrcpy

      Scrcpy 会自动通过 Wi-Fi 连接并显示你的手机屏幕,这比手动输入 IP 更方便。


常用 ADB 命令详解

连接成功后,你就可以在终端中执行各种命令了。

设备检查与管理

# 查看所有已连接的设备 (包括模拟器)
adb devices
# 强制重新列出设备
adb devices -l
# 断开与指定设备的连接 (断开 IP 为 192.168.1.100 的设备)
adb disconnect 192.168.1.100:5555

应用安装与卸载

# 安装 APK 文件
adb install path/to/your/app.apk
# 如果已安装,则覆盖安装 (推荐使用这个)
adb install -r path/to/your/app.apk
# 卸载应用 (包名在应用详情页或通过 pm list packages 查看)
adb uninstall com.example.app
# 卸载应用但保留数据和缓存
adb uninstall -k com.example.app

日志查看

# 查看所有设备的实时日志 (按 Ctrl+C 停止)
adb logcat
# 只查看特定应用的日志 (需要包名)
adb logcat -s "com.example.app"
# 过滤日志,只显示包含 "tag" 的行
adb logcat | grep "tag"
# 清除日志缓冲区
adb logcat -c

文件传输

# 将电脑上的文件拷贝到手机的 /sdcard/ 目录下
adb push /path/to/local/file.txt /sdcard/
# 将手机上的文件拷贝到电脑的当前目录
adb pull /sdcard/file.txt .
# 进入手机的 shell 环境 (交互式)
adb shell
# 执行一条 shell 命令后退出 (常用)
adb shell "ls /sdcard/"
# 在 shell 中,可以使用 'pm' (Package Manager) 和 'am' (Activity Manager) 等工具

应用活动管理

# 启动一个应用的主 Activity
adb shell am start -n com.example.app/.MainActivity
# 启动一个应用的指定 Activity
adb shell am start -n com.example.app/.SomeOtherActivity
# 强制停止一个应用
adb shell am force-stop com.example.app
# 清除应用数据
adb shell pm clear com.example.app

屏幕与输入

# 查看屏幕分辨率
adb shell wm size
# 截取屏幕并保存到电脑 (PNG 格式)
adb exec-out screencap -p /path/to/save/screenshot.png
# 录制屏幕 (保存到电脑)
# -t: 时间 (秒) - 如果不写,会一直录直到按 Ctrl+C
adb shell screenrecord /sdcard/record.mp4
# pull 回来
adb pull /sdcard/record.mp4
# 模拟点击屏幕坐标 (x, y)
adb shell input tap 500 1200
# 模拟滑动屏幕 (从 x1,y1 滑动到 x2,y2)
adb shell input swipe 500 1200 500 800
# 模拟按键
# KEYCODE_HOME: 3, KEYCODE_BACK: 4, KEYCODE_MENU: 82
adb shell input keyevent 3

系统信息

# 查看安卓版本
adb shell getprop ro.build.version.release
# 查看设备型号
adb shell getprop ro.product.model
# 查看序列号
adb shell getprop ro.serialno
# 列出所有已安装的应用包名
adb shell pm list packages

常见问题与解决

  1. adb: command not found

    • 原因: Homebrew 的路径没有添加到系统的 PATH 环境变量中。
    • 解决: 编辑你的 shell 配置文件 (~/.zshrc~/.bash_profile),添加以下行:
      echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc

      然后重启终端或运行 source ~/.zshrc

  2. adb devices 显示 unauthorized

    • 原因: 手机上没有授权此 Mac 进行调试。
    • 解决: 检查手机屏幕,是否弹出了“允许 USB 调试”的对话框,如果没有,请拔掉重连,并点击“允许”,如果对话框没出现,可以尝试在手机的“开发者选项”中重置 USB 调理授权。
  3. Wi-Fi 连接后 adb devices 显示 offline

    • 原因: 防火墙阻止了连接,或者手机和 Mac 不在同一个网络,或者 tcpip 5555 没有成功执行。
    • 解决: 确保在同一网络,检查 Mac 的防火墙设置,或者尝试重新执行一遍 adb tcpip 5555 再连接。

希望这份详细的指南能帮助你在 macOS 上顺利使用 ADB!

分享:
扫描分享到社交APP
上一篇
下一篇