使用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之网站的结构
Oct 24 Python
在Python中使用poplib模块收取邮件的教程
Apr 29 Python
快速入手Python字符编码
Aug 03 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 Python
pyqt5的QWebEngineView 使用模板的方法
Aug 18 Python
python ipset管理 增删白名单的方法
Jan 14 Python
浅谈Python的条件判断语句if/else语句
Mar 21 Python
如何使用python实现模拟鼠标点击
Jan 06 Python
在Django中预防CSRF攻击的操作
Mar 13 Python
Python JSON常用编解码方法代码实例
Sep 05 Python
分析Python list操作为什么会错误
Nov 17 Python
python读取mat文件生成h5文件的实现
Jul 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
叶罗丽:为什么大家对颜冰这对CP非常关心,却对金茉两人十分冷漠
2020/03/17 国漫
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/03/02 无线电
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
2014/06/13 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
JS获取网页属性包括宽、高等等
2014/04/03 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
AngularJS  双向数据绑定详解简单实例
2016/10/20 Javascript
ES6入门教程之Array.from()方法
2019/03/23 Javascript
vue+element模态框中新增模态框和删除功能
2019/06/11 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
[01:48]完美圣典齐天大圣至宝宣传片
2016/12/17 DOTA
Python小进度条显示代码
2019/03/05 Python
Python可迭代对象操作示例
2019/05/07 Python
numpy按列连接两个维数不同的数组方式
2019/12/06 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
CSS3实现类似翻书效果的过渡动画的示例代码
2019/09/06 HTML / CSS
美国性感女装网站:bebe
2017/03/04 全球购物
如何查看在weblogic中已经发布的EJB
2012/06/01 面试题
军校制空专业毕业生自我鉴定
2013/11/16 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
学生感冒英文请假条
2014/02/04 职场文书
文员的职业生涯规划发展方向
2014/02/08 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
新闻编辑求职信
2014/04/09 职场文书
2014年综治宣传月活动总结
2014/04/28 职场文书
中学生运动会口号
2014/06/07 职场文书
《检阅》教学反思
2016/02/22 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
Mysql效率优化定位较低sql的两种方式
2021/05/26 MySQL
mysql备份策略的实现(全量备份+增量备份)
2021/07/07 MySQL