自动导出任意软件自己数据的通用方法

发布于 4 小时前  23 次阅读


本文于 2026年4月3日 4:45 更新,注意查看最新内容

前言

之前用过一个软件来写日记,时间一久积累了接近9万字的内容,最近想把数据导出来进行整理,然后发现软件不提供导出功能,于是就想到了之前导出阿里小号绑定平台的方法,索性进行了相关尝试,发现可以跑通流程,这里记录相关方法,以备日后查阅。

原理

官方提供了安卓设备和电脑之间的中间件,用于操作安卓设备,也就是ADB,而ADB中有一个叫uiautomator dump的命令,它可以生成当前屏幕UI层级的XML文件,使用这个方法便可以导出任意软件中关于自己的文字数据。

准备

1.安装Python环境:https://www.python.org/

1.1若需将最终的数据生成Word文档,可以执行如下命令(如果只需要TXT文件,则无需安装)。

pip install python-docx Pillow

2.手机连接电脑开启开发者模式,并打开USB调试。

3.安装ADB工具,通过命令行使用ADB连接手机。

adb devices

代码

由于各个手机不一样,最终都可能需要靠自己进行细微调整,加上本次导出软件不方便公开,所以这里不再贴具体的代码,如果需要参考事例,可以看之前的文章《阿里小号一键导出短信并统计绑定的平台》

如何获取对应软件的控件ID

1.在手机上打开对应页面

2.依次执行如下命令,在电脑上生成当前界面的 XML 文件

adb shell uiautomator dump /sdcard/xxx.xml 
adb pull /sdcard/xxx.xml

步骤

1.新建一个文件夹

2.将需要执行的代码保存为export_xxx.py

PS:若以记事本新建记得右键另存为,并选择UTF-8编码。

3.在需要保存数据的文件夹,按住键盘上的Shift键,右键打开在此处打开PowerShell窗口,并在命令行中输入如下命令:

python export_xxx.py

4.测试相关代码稳定性,并进行相应修改。

测试

补充

本文提供的方法只能导出文字数据,关于图片数据需要进一步测试,或者采取折中的方法截图来变相导出,如需使用截图功能,可以提前安装pillow,安装命令如下:

python -m pip install pillow

参考

《最好的ADB教程,从下载安装到使用的详细说明,从小白到工作【win+ linux】》