python中使用adb命令的方法

阿里云2000元红包!本站用户参与享受九折优惠!

在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())
       
       

https://www.cnblogs.com/hyf20131113/p/11929730.html

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论