使用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 相关文章推荐
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
Feb 24 Python
python进阶教程之循环对象
Aug 30 Python
python基于隐马尔可夫模型实现中文拼音输入
Apr 01 Python
python执行系统命令后获取返回值的几种方式集合
May 12 Python
python实现超市扫码仪计费
May 30 Python
Python continue继续循环用法总结
Jun 10 Python
详解python做UI界面的方法
Feb 27 Python
Python使用sqlalchemy模块连接数据库操作示例
Mar 13 Python
Django操作session 的方法
Mar 09 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
May 23 Python
Python中实现一行拆多行和多行并一行的示例代码
Sep 06 Python
快速解决pymongo操作mongodb的时区问题
Dec 05 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
Syphon 使用方法
2021/03/03 冲泡冲煮
解决phpmyadmin中文乱码问题。。。
2007/01/18 PHP
php学习之流程控制实现代码
2011/06/09 PHP
php分页函数完整实例代码
2014/09/22 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
浅谈php fopen下载远程文件的函数
2016/11/18 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
学习javascript,实现插入排序实现代码
2011/07/31 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
JavaScript实现SHA-1加密算法的方法
2015/03/11 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
2016/04/29 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
浅谈angular2路由预加载策略
2017/10/04 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
vue实现购物车加减
2020/05/30 Javascript
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
Python操作mongodb的9个步骤
2018/06/04 Python
python实现图像拼接功能
2020/03/23 Python
Python利用PyPDF2库获取PDF文件总页码实例
2020/04/03 Python
Python错误的处理方法
2020/06/23 Python
python3中数组逆序输出方法
2020/12/01 Python
通息工程毕业生自荐信
2013/10/16 职场文书
外国人聘用意向书
2014/04/01 职场文书
安全口号大全
2014/06/21 职场文书
公务员培的训心得体会
2014/09/01 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
助学金感谢信
2015/01/20 职场文书
教师辞职书范文
2015/02/26 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书
简历中的自我评价应该这样写!
2019/07/12 职场文书