zoukankan      html  css  js  c++  java
  • python中使用adb命令的方法

    在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支持读取。

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

      1. import os
      2. import re
      3.  
      4.  
      5. os.system('adb version')
      6. os.system('adb devices') #os.system是不支持读取操作的
      7. out = os.popen('adb shell "dumpsys activity | grep "mFocusedActivity""').read() #os.popen支持读取操作
      8. print(out)
      9.  
      10. #下面的代码是获取当前窗口的component参数
      11. def getFocusedPackageAndActivity():
      12.  
      13. pattern = re.compile(r"[a-zA-Z0-9.]+/[a-zA-Z0-9.]+") #这里使用了正则表达式,对输出的内容做了限制,只会显示类似"com.mediatek.factorymode/com.mediatek.factorymode.FactoryMode"的字符串
      14. out = os.popen("adb shell dumpsys window windows | findstr / | findstr name=").read() #window下使用findstr
      15. list = pattern.findall(out)
      16. component = list[0] #输出列表中的第一条字符串
      17.  
      18. return component
      19. print(getFocusedPackageAndActivity())
         
         
  • 相关阅读:
    C++易错处总结
    Dev-C++debug使用方法
    IDEA使用心得
    记录零碎ACM小知识
    Div3 C good number easy version
    cin,scanf后使用getline() 函数的易错点
    while中同时使用scanf和break的易错点
    聚集表索引优化
    .net中不能在DropDownList中选中多个项的解决方法
    MVC3 带查询的分页Helper
  • 原文地址:https://www.cnblogs.com/hyf20131113/p/11929730.html
Copyright © 2011-2022 走看看