使用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中使用pyhook实现键盘监控的例子
Jul 18 Python
sublime text 3配置使用python操作方法
Jun 11 Python
Python实现的中国剩余定理算法示例
Aug 05 Python
简单了解Django模板的使用
Dec 20 Python
实践Vim配置python开发环境
Jul 02 Python
Python中应该使用%还是format来格式化字符串
Sep 25 Python
python斐波那契数列的计算方法
Sep 27 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
Jun 11 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
Python求平面内点到直线距离的实现
Jan 19 Python
基于spring boot 日志(logback)报错的解决方式
Feb 20 Python
Python实现Word表格转成Excel表格的示例代码
Apr 16 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
CentOS安装php v8js教程
2015/02/26 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
自己动手制作jquery插件之自动添加删除行功能介绍
2011/10/14 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
jquery设置元素的readonly和disabled的写法
2013/09/22 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
js实现九宫格图片半透明渐显特效的方法
2015/02/16 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
Vue实现动态响应数据变化
2017/04/28 Javascript
vue axios用法教程详解
2017/07/23 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
python3编写C/S网络程序实例教程
2014/08/25 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
Python 学习教程之networkx
2019/04/15 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
python中树与树的表示知识点总结
2019/09/14 Python
django 多数据库及分库实现方式
2020/04/01 Python
html5使用canvas画空心圆与实心圆
2014/12/15 HTML / CSS
幼儿园春游活动方案
2014/01/19 职场文书
教师节倡议书
2014/08/30 职场文书
2014年团支书工作总结
2014/11/14 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
师德标兵先进事迹材料
2014/12/19 职场文书
先进个人申报材料
2014/12/30 职场文书
物业保洁员管理制度
2015/08/05 职场文书
岗位聘任协议书
2015/09/21 职场文书
2019军训心得体会
2019/06/27 职场文书
Python Pytorch查询图像的特征从集合或数据库中查找图像
2022/04/09 Python