用python写了个简单安卓ADB调试小工具
前言
本人是小公司测开一枚,平时日常工作会对安卓平台测试,主要场景就是root,重启,查看设备、操作设备的一些基本信息。就想着怎么能用python开发语言将这些功能集合到一个工具上,方便使用。
设计理念
工具整体框架基于python3.10编写,使用tkinter库作为程序主窗口GUI,用pyinstaller库打包.exe包,方便Windows系统直接双击打开使用。对安卓设备进行调试,管理应用,查看adb log,对设备root,remount,截屏,录屏,发送adb命令等,目前自测所有功能均正常,不排除有BUG,有请反馈我,谢谢。
界面截图
主界面-未连接设备时应用管理菜单设备管理菜单日志下载菜单代码片段13800多行代码了已经使用方法
下载后,直接打开.exe文件,默认会在当前目录生成log、pic、video,3个目录,用于存放日志,截图,录屏文件。
无设备连接时,部分功能按钮不可用,必须安卓设备打开USB调试模式+电脑正确配置ADB环境 可用本工具(不会配置的百度、Google)
具体使用方法见工具内--更多功能_使用帮助
版本记录
20230711 初版产生 后期将以日期为版本号进行命名
Version:20230711
新增了:安装应用,卸载应用,下载日志,重启设备,root设备
20230825
优化了:发送adb命令由弹窗式改为输入式,无设备时异常提示
优化了:界面按钮输入框重新布局600x350
优化了:各种错误提示消息
优化了:所有注释,因为功能多了,注释有点乱
20230912
优化了:发送adb 命令时,输入框内的提示文案
优化了:获取Activity失败时的异常显示
优化了:点击实时日志按钮会打开windows DOS黑窗口
优化了:发送adb命令时,大写转小写后发送
新增了:adb logcat日志实时显示按钮
新增了:下载日志、录屏、截图后自动打开保存的文件夹
20231122
新增了:文件管理中新增monkey测试,翟总定制功能
点击后,自动创建文件夹,自动检查传输,传输完弹出输入框,输入内容后,自动开始测试
优化了:应用卸载时的交互方案,改为:scrolledtext.ScrolledText()
20231124
新增了:支持多设备连接,可选择对某一设备进行操作。
新增了:使用帮助弹窗独立窗口。
优化了:日志输出逻辑。
优化了:程序交互逻辑。
20231208
新增了:设备管理菜单增加获取《电池信息》选项。
新增了:设备管理菜单《设备信息》中增加了开机时间。
20231215
新增了:清除指定应用和全部应用缓存菜单。
新增了:自检按钮,检查日志文件夹和adb环境是否存在。
优化了:下载日志时才创建log文件夹,改为程序启动就创建。
优化了:获取设备的内存和硬盘显示格式。
修复了:获取设备信息异常的。
20231221
修复了:已连接的设备拔出,插入其他设备使用时的报错。
增加自动刷新设备函数,避免adb -s xxxx device not defound。
优化了:log输出更简洁明了。
优化了:log输出窗口无用log自动删除
新增了:Adb环境的检查和工具自检功能,工具自检可以修复默认文件夹被删除后,自动创建功能。
新增了:从安卓设备端拉取文件到电脑端。
20231228
新增了:工具所有操作日志以天为单位保存到log文件。
优化了:博客地址,工具更新,定制菜单的初始化开关配置。
优化了:工具自动刷新检测设备时间改为1分钟,避免日志文件写入大量内容。
优化了:工具自动检测更新功能,如果服务器版本大于本地,自动下载更新运行。
喝了太多的咖啡,休息下,2023年的最后一次更新了。
20240102
2024新年好!
优化了:工具自动更新功能。
新增了:自检时调用1次更新函数。
20240103
优化了:工具自动更新功能。
20240110
由于手残将pyinstaller库升级到最新后,打包出现异常导致生成exe文件在启动后报异常。
上述问题已在20240109修复解决。
新增了:设备管理增加CPU、MEM、DISK、Ping,4个功能。
新增了:应用管理增加保存Apk到电脑和查看Apk包信息,2个功能。
优化了:获取设备信息时和导出bugreport.zip时工具短暂卡顿。
优化了:Log日志类和ADBtool类合并,避免因调用日志模块出现No module xxx。
优化了:工具关键运行代码处,使用多线程处理函数,避免卡顿,影响使用体验。
优化了:卸载应用、结束其他应用、保存Apk到电脑、清除指定应用缓存时,先检测输入的包名是否存在于设备中。
20240201
基本上2个星期会更新1次,特大bug除外
优化了:截图时工具卡顿,使用多线程;
优化了:工作目录全局global;
优化了:工具启动时详细日志输出,方便定位bug;
优化了:输入某些adb命令时的异常;
修复了:录屏结束时、截图、保存日志、拉取文件,未自动高亮;
修复了:截图时,频繁点击截图按钮异常bug;
新增了:启动工具首先检测电脑中ADB环境,如果异常,工具3s后自动关闭;
新增了:工具启动后自检日志输出更详细;
去掉了:电脑adb环境变量自动配置代码;
喝了太多的咖啡,休息下,年前的最后一次更新了;
祝大家龙年大吉,龙凤呈祥!
说明
1、由于安卓系统安全限制原因,对于安卓OS10+ 设备存在录屏截屏失败问题,暂时无解(可使用三方工具录屏截屏,具体百度,google)
2、工具已通过腾讯哈勃病毒分析系统,放心使用,不放心请勿用
https://habo.qq.com/file/showdetail?pk=ADQGbl1qB28IO1s6U2oHYA==
3、闲暇之余开发,能力一般水平有限,勿喷,我会不定期更新维护,谢谢大家!
下载地址
懒揍链接:↓
https://www.lanzoub.com/iGrIt1qdemkh
密码:6ows
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
卖女孩的火柴棍
具体规律如下:
把每一个自然段作为父节点,每一段每一句or分号作为子节点。
or把“一、二、三、”作为爷节点,“(一)(二)(三)”作为父节点,“1、2、3”作为子节点,“(1)(2)(3)”作为孙节点
可以句号or分号为准,
so求软件推荐or完整代码(只需替换电子书地址即可实现)
校验提示文案
卖女孩的火柴棍
一、数据导入
二、数据预处理(清洗规整、增删改查、数据类型转化)
三、探索分析(可视自动化)
四、特征衍生(组合变量批量自动化生成、特征筛选指标评估自动化)
五、分箱筛选(变量分箱最优自动化)
六、相关性构建(多类算法聚合:逻辑、回归、分类&机器学习、深度学习、强化学习
七、检验评测(第六项计算各自的混淆矩阵指标,自动化计算结果)
八、分数转换
九、超参调优
so针对第二至七项,就python及其第三方库(自动化)实操详解的电子书及其代码而言,特跪求大佬推荐。。。非AI或者chatgpt+XX系列,书籍需求具体如下:
1、小白速成上手、简单易懂
because:文科转型
2、行业内公认靠谱,电子书中文版(暂不考虑:单个某库的说明书)
because:内容忒多繁杂,且无常用算法库的聚合呈现
3、需要2023年出版
because:即使按书实操,旧版书均因为其所涉之第三方库的灭失、相同操作而新旧版本不适配、新旧版本变更操作等原因而导致无法实现同等功能)
校验提示文案
卖女孩的火柴棍
二,后面有其他大佬建议,原因在于之前囫囵吞枣,应该得回归基础,找几本书看看。。。
三,目前执行中,但书本看过的内容很快就忘,没啥感觉,对python及其第三库规则or参数还是不甚了解。。。
四,本人非系统开发方向,非程序员,但需要python做统计分析、数据挖掘、规则策略和算法建模,so应该咋办?求指导
校验提示文案
卖女孩的火柴棍
给图片型的PDF文档,按照第一行标题,第二行日期,第三行作者做ocr识别
根据ocr内容给文档重名
so求软件推荐or完整代码(只需替换电子书or图片地址即可实现)
校验提示文案
今晚睡桥洞
校验提示文案
今晚睡桥洞
校验提示文案
卖女孩的火柴棍
给图片型的PDF文档,按照第一行标题,第二行日期,第三行作者做ocr识别
根据ocr内容给文档重名
so求软件推荐or完整代码(只需替换电子书or图片地址即可实现)
校验提示文案
卖女孩的火柴棍
二,后面有其他大佬建议,原因在于之前囫囵吞枣,应该得回归基础,找几本书看看。。。
三,目前执行中,但书本看过的内容很快就忘,没啥感觉,对python及其第三库规则or参数还是不甚了解。。。
四,本人非系统开发方向,非程序员,但需要python做统计分析、数据挖掘、规则策略和算法建模,so应该咋办?求指导
校验提示文案
卖女孩的火柴棍
一、数据导入
二、数据预处理(清洗规整、增删改查、数据类型转化)
三、探索分析(可视自动化)
四、特征衍生(组合变量批量自动化生成、特征筛选指标评估自动化)
五、分箱筛选(变量分箱最优自动化)
六、相关性构建(多类算法聚合:逻辑、回归、分类&机器学习、深度学习、强化学习
七、检验评测(第六项计算各自的混淆矩阵指标,自动化计算结果)
八、分数转换
九、超参调优
so针对第二至七项,就python及其第三方库(自动化)实操详解的电子书及其代码而言,特跪求大佬推荐。。。非AI或者chatgpt+XX系列,书籍需求具体如下:
1、小白速成上手、简单易懂
because:文科转型
2、行业内公认靠谱,电子书中文版(暂不考虑:单个某库的说明书)
because:内容忒多繁杂,且无常用算法库的聚合呈现
3、需要2023年出版
because:即使按书实操,旧版书均因为其所涉之第三方库的灭失、相同操作而新旧版本不适配、新旧版本变更操作等原因而导致无法实现同等功能)
校验提示文案
卖女孩的火柴棍
具体规律如下:
把每一个自然段作为父节点,每一段每一句or分号作为子节点。
or把“一、二、三、”作为爷节点,“(一)(二)(三)”作为父节点,“1、2、3”作为子节点,“(1)(2)(3)”作为孙节点
可以句号or分号为准,
so求软件推荐or完整代码(只需替换电子书地址即可实现)
校验提示文案