2017-05-04 413 views
0

我试图建立一个简单的Telegram bot来启动和停止旧的三星设备作为安全凸轮。QPython的“CAN NOT LINK EXECUTABLE”错误(Android)

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

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

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摄像头应用程序时,库存在问题。我找不到类似的问题。

任何想法,我该如何解决这个问题? 谢谢。

回答

1

解决的办法是:

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

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

之后:

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

...最后的作品。