Android 从python中输入adb shell

Android 从python中输入adb shell,android,python,shell,adb,Android,Python,Shell,Adb,我正在尝试从python执行命令到adb shell 我正在使用Windows操作系统 在CMD上: C:\Users\deounix>adb shell shell@android:/ $ su root su root root@android:/ # reboot 我正在做的是: import os os.popen("adb shell & su root & reboot") 但这不管用 我怎么做 import os os.system("adb shell

我正在尝试从python执行命令到adb shell 我正在使用Windows操作系统

在CMD上:

C:\Users\deounix>adb shell
shell@android:/ $ su root
su root
root@android:/ # reboot
我正在做的是:

import os

os.popen("adb shell & su root & reboot")
但这不管用

我怎么做

import os
os.system("adb shell su -c reboot")
要在python上运行任何类似adb设备的命令,请执行上述命令 这肯定会奏效的。您只需要确认获得adb外壳的路径

要在python上运行任何类似adb设备的命令,请执行上述命令
这肯定会奏效的。您只需确认获得adb外壳的路径即可。

我过去做过这件事,我不记得是怎么做的,但我记得有一种方法可以启动第二个进程,然后再向它发送输入数据并捕获其输出。@MihaiHangiu我怎么做?改用
子进程
。另外,
adb reboot
不带
shell
不需要root:
子进程。检查输出(['adb',reboot'])
我过去做过,我不记得是怎么做的,但我记得有一种方法可以启动第二个进程,然后再向它发送输入数据并捕获其输出。@MihaiHangiu我该怎么做?使用
子进程
。另外,
adb reboot
不带
shell
不需要root:
子进程。检查输出(['adb',reboot'])
不可能是这样的,因为它是do first命令:adb shell然后它不是do:su root在adb shell中调用:adb shell;苏根;而不是重新启动啊,对。我需要这条路。不管怎样用一个有效的命令更新了答案。不,不可能是这样,因为它是do first命令:adb shell,然后不是do:su root在adb shell中调用:adb shell;苏根;而不是重新启动啊,对。我需要这条路。不管怎样使用有效的命令更新了答案。
import os
os.system("c:/platform-tools/adb devices")