使用Python库与adb交互并在没有sudo的设备上更改为su

2024-09-28 21:15:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在使用纯python adb来使用python自动化一些任务。我使用的设备是基于Busybox的UNIX系统,它的命令数量有限。它没有sudo。我试图完成的任务是更改我刚刚推送到设备中的新文件的权限、所有者和组。现在的问题是,为了更改文件的权限,我应该处于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 -lhcd <PATH>这样的普通命令,但我不能更改为su。当我通过su时,控制台就挂起了。因此,我尝试使用我在网上找到的答案之一echo <PW> | su -s将密码与命令一起传递,但我得到的错误是

'su: must be run from a terminal\r\n'

是否有任何方法可以使用Python自动化此任务


Tags: 文件from命令client权限密码数量device