首页 > 解决方案 > 使用 Python 库与 adb 交互并在没有 sudo 的设备上更改为 su

问题描述

我目前正在使用pure-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 -lhor这样的普通命令cd <PATH>,但我不能更改为su. 当我通过su时,控制台就会挂起。所以我尝试使用我在网上找到的答案之一传递密码和命令echo <PW> | su -s,但我得到的错误是,

'su: 必须从终端运行\r\n'

有没有办法使用 Python 自动执行此任务?

标签: pythonunixadbbusyboxsu

解决方案


推荐阅读