使用python编写脚本获取手机当前应用apk的信息

作者:whsnow 时间:2022-08-01 22:54:15 

前提是已设置ANDROID_HOME环境变量,使用aapt工具获取apk的信息,保存至脚本所在目录下的PackageInfo.txt文件中:


import os
import tempfile
import re

tempFile = tempfile.gettempdir()

def get_aapt():
if "ANDROID_HOME" in os.environ:
rootDir = os.path.join(os.environ["ANDROID_HOME"], "build-tools")
for path, subdir, files in os.walk(rootDir):
if "aapt.exe" in files:
return os.path.join(path, "aapt.exe")
else:
return "ANDROID_HOME not exist"

def get_current_package_name():
pattern = re.compile(r"[a-zA-Z0-9\.]+/.[a-zA-Z0-9\.]+")
os.popen("adb wait-for-device")
out = os.popen("adb shell dumpsys input | findstr FocusedApplication").read()
package_name = pattern.findall(out)[0].split("/")[0]

return package_name

def get_match_apk(package_name):
list = []
for packages in os.popen("adb shell pm list packages -f " + package_name).readlines():
list.append(packages.split(":")[-1].split("=")[0])
apk_name = list[0].split("/")[-1]
os.popen("adb pull " + list[0] + " " + tempFile)

return tempFile + "\\" + apk_name

if __name__ == "__main__":
os.popen(get_aapt() + \
" dump badging " + \
get_match_apk(get_current_package_name()) + \
" > PackageInfo.txt")
os.popen("del " + tempFile + "\\*.apk")
标签:python,应用信息
0
投稿

猜你喜欢

  • python3使用requests模块爬取页面内容的实战演练

    2022-01-08 18:26:57
  • asp去除html的函数代码分析附实例说明

    2023-07-02 20:09:18
  • Python数据结构之图的存储结构详解

    2021-03-28 10:42:48
  • 源码解析python的内存回收机制

    2023-05-19 18:12:16
  • 登录与注册两者的距离

    2009-01-02 16:48:00
  • mysql的case when字段为空,null的问题

    2024-01-13 14:40:59
  • Mysql Binlog数据查看的方法详解

    2024-01-27 18:26:22
  • JS数组方法concat()用法实例分析

    2024-04-29 14:08:20
  • 这样写python注释让代码更加的优雅

    2021-01-07 09:09:12
  • django之导入并执行自定义的函数模块图解

    2023-07-27 02:45:19
  • 教你一招完美解决vscode安装go插件失败问题

    2024-05-09 09:47:20
  • 解析mysql数据库还原错误:(mysql Error Code: 1005 errno 121)

    2024-01-15 00:13:13
  • selenium+python自动化测试之使用webdriver操作浏览器的方法

    2023-06-28 03:04:47
  • pandas 两列时间相减换算为秒的方法

    2022-04-15 00:30:07
  • redis不能访问本机真实ip地址的解决方案

    2023-07-05 13:09:44
  • Python浪漫玫瑰盛开表白源代码

    2022-03-18 11:27:00
  • 基于Python预测一下世界杯最后赢家

    2021-01-30 16:16:48
  • pytest多重断言的实现

    2021-10-12 03:30:25
  • 详解python中asyncio模块

    2022-06-14 05:25:13
  • Win8下python3.5.1安装教程

    2021-11-15 13:14:54
  • asp之家 网络编程 m.aspxhome.com