使用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查询sqlite数据表的方法
May 08 Python
python实现查找两个字符串中相同字符并输出的方法
Jul 11 Python
通过数据库向Django模型添加字段的示例
Jul 21 Python
Python实现身份证号码解析
Sep 01 Python
网站渗透常用Python小脚本查询同ip网站
May 08 Python
Python实现判断一行代码是否为注释的方法
May 23 Python
Python使用numpy模块创建数组操作示例
Jun 20 Python
Python一句代码实现找出所有水仙花数的方法
Nov 13 Python
python日志logging模块使用方法分析
May 23 Python
django项目中使用手机号登录的实例代码
Aug 15 Python
python对象销毁实例(垃圾回收)
Jan 16 Python
python matplotlib包图像配色方案分享
Mar 14 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作为Shell脚本语言使用
2006/10/09 PHP
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
2011/11/07 PHP
PHP句法规则详解 入门学习
2011/11/09 PHP
php 网上商城促销设计实例代码
2012/02/17 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
php生成gif动画的方法
2015/11/05 PHP
鼠标移到导航当前位置的LI变色处于选中状态
2013/08/23 Javascript
Node.js实现JS文件合并小工具
2016/02/02 Javascript
基于jQuery实现数字滚动效果
2017/01/16 Javascript
深入理解es6块级作用域的使用
2019/03/28 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
Python里disconnect UDP套接字的方法
2015/04/23 Python
Python pickle模块用法实例分析
2015/05/27 Python
python pandas中DataFrame类型数据操作函数的方法
2018/04/08 Python
python matlibplot绘制多条曲线图
2021/02/19 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
python Plotly绘图工具的简单使用
2020/03/03 Python
Python脚本导出为exe程序的方法
2020/03/25 Python
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
Space NK英国站:英国热门美妆网站
2017/12/11 全球购物
Bealls Florida百货商店:生活服饰、家居装饰和鞋子
2018/02/23 全球购物
美国领先的个性化礼品商城:Personalization Mall
2019/07/27 全球购物
what is the difference between ext2 and ext3
2013/11/03 面试题
体育教师个人的自我评价
2014/02/16 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
质检员岗位职责
2015/02/03 职场文书
2015年售票员工作总结
2015/04/29 职场文书
2015年国培研修感言
2015/08/01 职场文书
安全生产会议制度
2015/08/06 职场文书
2016春季校长开学典礼致辞
2015/11/26 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
Tomcat配置访问日志和线程数
2022/05/06 Servers