You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OSX 10.12下Android Screenshot2工具出现NullPointerException问题求助

解决Bitbar OpenCV依赖Screenshot2时的NullPointerException问题

我之前在OSX环境下用Bitbar OpenCV做Android自动化测试时也踩过这个坑,结合你的环境配置(OSX 10.12、Android SDK Tools 26.1.1、JDK 8u151),大概率是权限、兼容性或者设备连接的问题,给你几个实用的排查和修复步骤:

  • 先搞定屏幕录制权限
    OSX 10.12对屏幕录制权限管得很严,Screenshot2需要这个权限才能正常捕获屏幕:

    1. 打开「系统偏好设置」→「安全性与隐私」→「隐私」标签
    2. 找到「屏幕录制」,把终端(或者你跑测试的IDE,比如Android Studio)勾上
    3. 勾选后一定要重启终端/IDE,不然权限不生效
  • 验证SDK Tools兼容性
    SDK Tools 26.1.1版本里的Screenshot2确实存在一些小bug,我当时降级到25.2.5就解决了:

    1. 先卸载当前的SDK Tools,然后下载25.2.5版本重新安装
    2. 确认ANDROID_HOME环境变量指向正确的SDK目录,终端跑echo $ANDROID_HOME检查路径
  • 定位空指针的具体触发点
    光知道空指针不够,得抓详细日志:

    1. 直接在终端跑Screenshot2的完整命令,比如$ANDROID_HOME/platform-tools/screenshot2 -s <你的设备ID> test.png,看看完整的错误输出
    2. 如果是通过Bitbar库调用,开启库的debug模式,看是截图捕获、图像解析还是数据传递阶段出的问题
  • 检查设备连接状态
    空指针也可能是Screenshot2找不到设备导致的:

    1. 跑adb devices确认设备已经正常连接,而且你已经在设备上授权了电脑的adb连接
    2. 模拟器的话,要等它完全启动好再测试;真机的话,试试重启设备和adb服务(adb kill-server && adb start-server)

内容的提问来源于stack exchange,提问作者MMiller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:14:08