1

我正在尝试构建一个简单的Telegram 机器人来启动和停止作为安全摄像头工作的旧三星设备。

通过 ssh 一切都很好,所以所涉及的命令已经被证明是有效的。现在是将它们移至QPythonpython-telegram-bot库的问题。

此外,机器人已经在工作,从设备本身运行。问题是涉及 shell 调用的命令,因为这个(QPython shell 以root权限运行):

am start -n com.pas.webcam/.Rolling

这应该会打开IP 网络摄像头应用程序。在 QPython 的脚本或控制台中,如果我这样做:

>>> from subprocess import call
>>> call(['/system/bin/am', 'start', '-n', 'com.pas.webcam/.Rolling'])

...我有错误:

CANNOT LINK EXECUTABLE "app_process": \
cannot locate symbol "jpeg_crop_scanline" referenced by "/system/lib/libskia.so"...

...带有退出代码-6

据我了解,当从 QPython shell 打开 IP 网络摄像头应用程序时,库存在问题。我找不到任何类似问题的参考。

关于如何解决这个问题的任何想法?谢谢。

4

1 回答 1

2

解决方案是:

os.environ['LD_LIBRARY_PATH'] = '/data/data/com.pas.webcam/lib'

这是用户数据分区内的应用程序库路径。我不清楚为什么am从 QPython 启动二进制文件找不到它。

在那之后:

cmd = call(['/system/bin/am', 'start', '-n', 'com.pas.webcam/.Rolling'])

...终于奏效了。

于 2017-05-04T15:06:18.380 回答