使用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 相关文章推荐
Django中对数据查询结果进行排序的方法
Jul 17 Python
分析并输出Python代码依赖的库的实现代码
Aug 09 Python
Python for Informatics 第11章之正则表达式(二)
Apr 21 Python
Python自动发邮件脚本
Mar 31 Python
python实战教程之自动扫雷
Jul 13 Python
python爬虫简单的添加代理进行访问的实现代码
Apr 04 Python
centos 安装Python3 及对应的pip教程详解
Jun 28 Python
python3中pip3安装出错,找不到SSL的解决方式
Dec 12 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
May 04 Python
python文件操作seek()偏移量,读取指正到指定位置操作
Jul 05 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
Oct 09 Python
Python机器学习之PCA降维算法详解
May 19 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
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
Yii2中hasOne、hasMany及多对多关联查询的用法详解
2017/02/15 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
javascript针对DOM的应用实例(一)
2012/04/15 Javascript
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
JQuery创建DOM节点的方法
2015/06/11 Javascript
SublimeText自带格式化代码功能之reindent
2015/12/27 Javascript
JavaScript对象参数的引用传递
2016/01/14 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
Vue组件的使用教程详解
2018/01/05 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
关于layui toolbar和template的结合使用方法
2019/09/19 Javascript
JavaScript组合设计模式--改进引入案例分析
2020/05/23 Javascript
Python中的time模块与datetime模块用法总结
2016/06/30 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
python中从for循环延申到推导式的具体使用
2019/11/29 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
Python爬虫如何破解JS加密的Cookie
2020/11/19 Python
高中生学习生活的自我评价
2013/10/09 职场文书
中专生学习生活的自我评价分享
2013/10/27 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
给校长的建议书100字
2014/05/16 职场文书
校园元旦活动总结
2014/07/09 职场文书
2014年教师党员自我评价范文
2014/09/22 职场文书
2014年政风行风工作总结
2014/11/22 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
圣诞晚会主持词开场白
2015/05/28 职场文书
如何给HttpServletRequest增加消息头
2021/06/30 Java/Android
el-table-column 内容不自动换行的解决方法
2022/08/14 Vue.js