Python通过adb命令获取Android设备后台正在运行的第三方程序包名信息 您所在的位置:网站首页 adb查看运行的程序 Python通过adb命令获取Android设备后台正在运行的第三方程序包名信息

Python通过adb命令获取Android设备后台正在运行的第三方程序包名信息

2023-08-10 07:27| 来源: 网络整理| 查看: 265

adb命令解读

获取Android系统中正在运行的第三方应用程序信息

adb shell pm list packages -3

ps:该命令为adb提供的pm中的方法,故可直接调用。再加一个参数可获取正在运行中的包名信息但是实际测试中发现获取信息不准确。

获取Android系统后台正在运行的所有进程信息;

adb shell ps

ps:这里说明一下有个小坑,部分高版本手机存成兼容性问题故需加“ -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 实验室设备网 版权所有