Python通过adb命令获取Android设备后台正在运行的第三方程序包名信息 | 您所在的位置:网站首页 › adb查看运行的程序 › Python通过adb命令获取Android设备后台正在运行的第三方程序包名信息 |
adb命令解读 获取Android系统中正在运行的第三方应用程序信息 adb shell pm list packages -3ps:该命令为adb提供的pm中的方法,故可直接调用。再加一个参数可获取正在运行中的包名信息但是实际测试中发现获取信息不准确。 获取Android系统后台正在运行的所有进程信息; adb shell psps:这里说明一下有个小坑,部分高版本手机存成兼容性问题故需加“ -A ”命令获取,命令如下。 adb shell ps -A弥补一下ps命令检查正在运行的程序可能不准确的问题,使用更完整的信息查看后台服务进程是否存在 adb shell dumpsys activity services上面的分析思路有了,数据有了,下面就是代码编码的工作了。 源码部分: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : Benjamin # @Time : 2019/7/15 14:46 import subprocess import re class JustDoIt(object): def __init__(self): self.packageList = [] self.packageListAdd = None def doCMD(self,adbshell): try: return str(subprocess.Popen(adbshell, shell=True, stdout=subprocess.PIPE).communicate()) except Exception as e: print(e) return None def getPackList(self, mark=None): self.packageList = re.findall(re.compile(r"package:(.*?)\\r"), self.doCMD("adb shell pm list packages -3")) return self.packageList def getPackageListAdd(self): fuck = "" for package in self.packageList:fuck += "%s|"%package # self.packageListAdd = fuck[:-1] return fuck[:-1] def getLiveApp(self): self.getPackList() self.getPackageListAdd() adbmessage = self.doCMD("adb shell ps") adbservices = self.doCMD("adb shell dumpsys activity services") if len(adbmessage) |
CopyRight 2018-2019 实验室设备网 版权所有 |