使用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使用在线API查询IP对应的地理位置信息实例
Jun 01 Python
在Python中操作文件之read()方法的使用教程
May 24 Python
python模块之re正则表达式详解
Feb 03 Python
浅析Python中return和finally共同挖的坑
Aug 18 Python
Scrapy爬虫实例讲解_校花网
Oct 23 Python
Python中is和==的区别详解
Nov 15 Python
python可视化篇之流式数据监控的实现
Aug 07 Python
tornado+celery的简单使用详解
Dec 21 Python
Python如何把多个PDF文件合并代码实例
Feb 13 Python
在python里使用await关键字来等另外一个协程的实例
May 04 Python
python安装和pycharm环境搭建设置方法
May 27 Python
Python二元算术运算常用方法解析
Sep 15 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
PHP5+UTF8多文件上传类
2008/10/17 PHP
php笔记之:php数组相关函数的使用
2013/04/26 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
JavaScript面向对象之Prototypes和继承
2012/07/12 Javascript
formvalidator验证插件中有关ajax验证问题
2013/01/04 Javascript
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
2014/04/23 Javascript
做web开发 先学JavaScript
2014/12/12 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
BootStrap中的table实现数据填充与分页应用小结
2016/05/26 Javascript
用Python生成器实现微线程编程的教程
2015/04/13 Python
python二分查找算法的递归实现方法
2016/05/12 Python
Python爬取十篇新闻统计TF-IDF
2018/01/03 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
简单了解Django ContentType内置组件
2019/07/23 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
2020/01/21 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
Python logging模块原理解析及应用
2020/08/13 Python
python开发入门——set的使用
2020/09/03 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
中西医结合临床医学专业大学生自荐信
2013/09/28 职场文书
专升本自我鉴定
2013/10/10 职场文书
后勤主管工作职责
2013/12/07 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
大学生创业计划书
2019/06/24 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL
MySQL查询日期时间
2022/05/15 MySQL
Python+pyaudio实现音频控制示例详解
2022/07/23 Python