Ошибка "НЕ МОЖЕТ СВЯЗАТЬСЯ ВЫПОЛНИТЬ" с QPython (Android)
Я пытаюсь создать простого бота Telegram для запуска и остановки старого устройства Samsung, работающего в качестве камеры безопасности.
Через ssh все хорошо, так что задействованные команды уже доказали свою работоспособность. Теперь нужно перенести их в QPython и библиотеку https://python-telegram-bot.org/.
Также бот уже работает, работает с самого устройства. Проблема в том, что команды, включающие вызовы оболочки, такие как (оболочка QPython работает с привилегиями 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
Из того, что я понимаю, есть проблема с библиотекой, когда приложение IP-камеры открывается из оболочки QPython. Я не могу найти ссылку на подобные проблемы.
Любая идея о том, как я могу это исправить? Благодарю.
1 ответ
Решение:
os.environ['LD_LIBRARY_PATH'] = '/data/data/com.pas.webcam/lib'
Это путь к приложению lib внутри раздела userdata. Мне не понятно, почему am
двоичный файл не может найти его, если запущен из QPython.
После этого:
cmd = call(['/system/bin/am', 'start', '-n', 'com.pas.webcam/.Rolling'])
... наконец-то работает.