【发布时间】:2018-03-16 04:36:06
【问题描述】:
我正在使用 Python 通过 USB 访问 Android 手机。 我正在使用的库是 PyUSB。 我能找到任何可以引导我访问屏幕缓冲区的内部结构吗? 还是 Python 太高级以至于我需要切换到 C/C++? 如果是这样,有没有办法访问 Android 上的屏幕缓冲区? 请提供详细说明。
【问题讨论】:
-
adb 不是我想要的。我正在寻找明智的编程建议
我正在使用 Python 通过 USB 访问 Android 手机。 我正在使用的库是 PyUSB。 我能找到任何可以引导我访问屏幕缓冲区的内部结构吗? 还是 Python 太高级以至于我需要切换到 C/C++? 如果是这样,有没有办法访问 Android 上的屏幕缓冲区? 请提供详细说明。
【问题讨论】:
VNC 服务器访问帧缓冲区,在 droidVNCserver 中是开源的,这是在原生 C(JNI - Java Native Interface)中完成的,我认为它只能在低级 C 中实现。源代码在https://github.com/oNaiPs/droidVncServer/tree/master/,jni代码见https://github.com/oNaiPs/droidVncServer/tree/master/jni/vnc和https://github.com/oNaiPs/droidVncServer/tree/master/jni/vnc/screenMethods
因此,您可以访问 android 设备上的帧缓冲区,但是您必须使用 python 通过 USB 获取图像,这并不简单。您可以将 android 安装为大容量存储或 PTP(图片传输协议)或 MTP(媒体传输协议)设备或使用 adb,但这并不容易
如果您想要一个简单的解决方案,请在您的 android 上安装 droidVNCserver 并使用 https://pypi.python.org/pypi/vncdotool 之类的库编写一个 python 程序来访问它...
【讨论】: