我正在尝试构建一个简单的Telegram bot来启动和停止用作安全凸轮的旧三星设备。
通过ssh一切都很好,因此所涉及的命令已经被证明是有效的。现在只需将它们移至QPython和python-telegram-bot lib。
机器人也已经可以从设备本身运行了。问题是涉及外壳程序调用的命令,因为这个命令(QPython shell以root特权运行):
am start -n com.pas.webcam/.Rolling
这应该打开IP Webcam应用程序。
在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网络摄像头应用程序时,库存在问题。我找不到类似问题的参考。
关于如何解决此问题的任何想法?
谢谢。
最佳答案
解决方案是:
os.environ['LD_LIBRARY_PATH'] = '/data/data/com.pas.webcam/lib'
这是用户数据分区内应用程序的lib路径。对于我来说,目前尚不清楚为什么
am
二进制文件如果从QPython启动后却找不到。之后:
cmd = call(['/system/bin/am', 'start', '-n', 'com.pas.webcam/.Rolling'])
...终于可以了。
关于android - QPython(Android)出现“无法链接执行”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43778749/