分享:python 实现adb交互,进入adb shell后,如何再发送消息!

        在window终端很容易进入adb shell,在发送一些相应的消息。今天写脚本实现发送一些消息抓取log,但是遇到一个问题。那就是当发送完os.popen("adb shell"),再发送一些消息,无论如何也不能发送成功,包括把命令和adb shell连在一起发。在这里,我也觉得是因为adb shell进入的是android的界面了。此时可以执行 ls 命令看到android相应的目录。而python脚本只能与cmd进行交互。

百度查也没查到对应的解决方法。只有一篇文章标题提到解决方法,但我尝试过后,并没有成功。最后终于找到了解决方法,现在分享给大家!

对于 cmd 终端,如果命令组合起来,它可能只识别第一条命令,把之后的命令当作参数传入。所以,只需要把之后的命令用引号引起来就可以一起执行成功了!

在python脚本中这样使用就好了:

os.popen("adb -s 192.168.1.100:5555 shell \"dmesg > /data/dmesg.log\"")

这样就不必先进入adb shell,在执行 dmesg > /data/dmesg.log 了。

你可能感兴趣的:(python)