В настоящее время я использую pure- python -adb для автоматизации нескольких задач с использованием Python. Устройство, которое я использую, представляет собой систему UNIX на базе Busybox, которая имеет ограниченное количество команд. У него нет sudo
. Задача, которую я пытаюсь выполнить sh, заключается в изменении разрешения, владельца и группы нового файла, который я только что вставил в устройство. Проблема сейчас в том, что для изменения разрешения файла я должен быть в режиме su . И чтобы быть в su , я должен дать пароль. Вот где я застрял. Я не могу дать пароль для su .
Это то, что у меня есть:
from ppadb.client import Client as AdbClient
client = AdbClient(host="127.0.0.1", port=5037)
device = client.device("device-6000")
device.shell("<command>")
Я могу передавать нормальные команды, такие как ls -lh
или cd <PATH>
, но я не могу перейти на su
. Когда я передаю su
, консоль просто зависает. Поэтому я попытался передать пароль вместе с командой, используя один из ответов, найденных в Интернете, echo <PW> | su -s
, но я получаю следующую ошибку:
'su: должен быть запущен из терминал \ r \ n '
Есть ли способ автоматизировать эту задачу, используя Python?