在 Python 中使用"adb shell"



所以我决定创建一个非常简单的"ADB安装程序";Python应用程序,用于使用os.system/os.open行在Android设备上安装构建并进行屏幕截图,例如:

os.system("adb connect " + IP)

等等。但现在我有点卡住了,因为我需要发送以下内容(在我用作Python应用程序基础的bash脚本中可以正常工作(:

adb shell "
cd [path] 
rm -r [app name]
exit
"

请问我如何使用os.system/os.open来完成这项工作?(我确实试图避免使用adb shell和其他Python实现,但如果没有其他方法,我会尝试(。谢谢

使用子流程:

from subprocess import run, PIPE
path = "[path]"
app_name = "[app name]"
commands_array = ["adb","shell", "rm", path + "/" + app_name , "&&", 
"ls", "-la", path]
try:
result = run(commands_array, stdout=PIPE, stderr=PIPE, 
check=True, universal_newlines=True)
except Exception as e:
print("An error occured:")
print(e)
print(result.stdout)

使用三引号,可以在一个字符串中获得多行。不确定这是否有效,但这是我会尝试的。

os.system("""adb shell "
cd [path] 
rm -r [app name]
exit
" """)

最新更新