使用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多线程抓取天涯帖子内容示例
Apr 03 Python
Python3基础之函数用法
Aug 13 Python
简单介绍利用TK在Python下进行GUI编程的教程
Apr 13 Python
Python实现的HTTP并发测试完整示例
Apr 23 Python
遍历python字典几种方法总结(推荐)
Sep 11 Python
Python判断变量是否为Json格式的字符串示例
May 03 Python
解决python opencv无法显示图片的问题
Oct 28 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
Sep 18 Python
Python3.7 pyodbc完美配置访问access数据库
Oct 03 Python
浅谈pytorch中的BN层的注意事项
Jun 23 Python
python如何快速生成时间戳
Jul 21 Python
python字符串的一些常见实用操作
Apr 06 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中创建和调用webservice接口示例
2014/07/25 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
详解PHP数据压缩、加解密(pack, unpack)
2016/12/17 PHP
PHP实现的简单在线计算器功能示例
2017/08/02 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
10个基于Jquery的幻灯片插件教程
2010/10/29 Javascript
Js sort排序使用方法
2011/10/17 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
关于Javascript 对象(object)的prototype
2014/05/09 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
jquery.validate使用详解
2016/06/02 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
Nodejs实现的操作MongoDB数据库功能完整示例
2019/02/02 NodeJs
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
Layui事件监听的实现(表单和数据表格)
2019/10/17 Javascript
vue ssr+koa2构建服务端渲染的示例代码
2020/03/23 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
2020/07/28 Javascript
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
Python datetime模块使用方法小结
2020/06/18 Python
python中Mako库实例用法
2020/12/31 Python
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
Sneaker Studio捷克:购买运动鞋
2018/07/08 全球购物
Mio Skincare英国官网:身体紧致及孕期身体护理
2018/08/19 全球购物
贝斯特韦斯特酒店集团官网:Best Western
2019/01/03 全球购物
应届生.NET方向面试题
2015/05/23 面试题
计算机网络毕业生自荐信
2013/10/01 职场文书
幼儿园教师辞职信
2014/01/18 职场文书
大学生求职信范文
2014/05/24 职场文书
党的群众路线教育实践活动个人对照检查剖析材料
2014/09/23 职场文书
2015年环卫工作总结
2015/04/28 职场文书
MySQL Router实现MySQL的读写分离的方法
2021/05/27 MySQL
Java集成swagger文档组件
2021/06/28 Java/Android