学习了一下python中使用adb命令的

  • 2020 年 1 月 10 日
  • 笔记

在python中使用adb命令,可以导入os模块。

1 简单的adb命令。

如:os.system('adb version')

2 稍微复杂的adb命令。

如:os.system('adb shell "dumpsys activity | grep "mFocusedActivity""')

3 希望将adb读出的内容保存。

如:out = os.popen('adb shell "dumpsys activity | grep "mFocusedActivity""').read()

总结一下:os.system不支持读取, os.popen支持读取。

下面有一个转来的脚本,学习一下:

import os  import re      os.system('adb version')  os.system('adb devices') #os.system是不支持读取操作的  out = os.popen('adb shell "dumpsys activity | grep "mFocusedActivity""').read() #os.popen支持读取操作  print(out)    #下面的代码是获取当前窗口的component参数  def getFocusedPackageAndActivity():            pattern = re.compile(r"[a-zA-Z0-9.]+/[a-zA-Z0-9.]+") #这里使用了正则表达式,对输出的内容做了限制,只会显示类似"com.mediatek.factorymode/com.mediatek.factorymode.FactoryMode"的字符串          out = os.popen("adb shell dumpsys window windows | findstr / | findstr name=").read() #window下使用findstr          list = pattern.findall(out)          component = list[0] #输出列表中的第一条字符串            return component  print(getFocusedPackageAndActivity())