學習了一下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())