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


Posted in Python onJuly 21, 2014

前提是已设置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 相关文章推荐
python多进程实现进程间通信实例
Nov 24 Python
Win7 64位下python3.6.5安装配置图文教程
Oct 27 Python
Numpy中的mask的使用
Jul 21 Python
Python socket实现的简单通信功能示例
Aug 21 Python
python实现从pdf文件中提取文本,并自动翻译的方法
Nov 28 Python
浅谈python下tiff图像的读取和保存方法
Dec 04 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
May 03 Python
python解释器pycharm安装及环境变量配置教程图文详解
Feb 26 Python
解决json中ensure_ascii=False的问题
Apr 03 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
Apr 22 Python
matplotlib对象拾取事件处理的实现
Jan 14 Python
python中Pexpect的工作流程实例讲解
Mar 02 Python
使用python编写android截屏脚本双击运行即可
Jul 21 #Python
python 示例分享---逻辑推理编程解决八皇后
Jul 20 #Python
python中from module import * 的一个坑
Jul 20 #Python
用python代码做configure文件
Jul 20 #Python
python中的内置函数getattr()介绍及示例
Jul 20 #Python
Python实现的生成自我描述脚本分享(很有意思的程序)
Jul 18 #Python
Python中使用 Selenium 实现网页截图实例
Jul 18 #Python
You might like
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
采用memcache在web集群中实现session的同步会话
2014/07/05 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
JavaScript入门教程(7) History历史对象
2009/01/31 Javascript
javascript fullscreen全屏实现代码
2009/04/09 Javascript
关于URL中的特殊符号使用介绍
2011/11/03 Javascript
js网页版计算器的简单实现
2013/07/02 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
数据结构中的各种排序方法小结(JS实现)
2016/07/23 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
Vue中computed、methods与watch的区别总结
2019/04/10 Javascript
vue项目中在外部js文件中直接调用vue实例的方法比如说this
2019/04/28 Javascript
vue-simple-uploader上传成功之后的response获取代码
2020/09/07 Javascript
Python对小数进行除法运算的正确方法示例
2014/08/25 Python
Python pickle模块用法实例
2015/04/14 Python
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
对PyTorch torch.stack的实例讲解
2018/07/30 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
Python for循环搭配else常见问题解决
2020/02/11 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
模具设计与制造专业应届生求职信
2013/10/18 职场文书
力学专业毕业生自荐信
2013/11/17 职场文书
鲜花方阵解说词
2014/02/13 职场文书
英语教育专业自荐信
2014/05/29 职场文书
大学生个人求职信例文
2014/07/07 职场文书
农业项目建议书
2014/08/25 职场文书
中秋晚会活动方案
2014/08/31 职场文书
还款承诺书范本
2015/01/20 职场文书
获奖感言怎么写
2015/07/31 职场文书
六一儿童节致辞
2015/07/31 职场文书