换手机时最麻烦的不是通讯录和照片而是攒了几年的聊天文件图片、视频、语音、文档散落在微信、QQ、TIM、企业微信的十几个目录里。聊天记录本体可以用官方的迁移功能搬走但聊天产生的媒体文件官方一直没给批量导出这条路。这篇文章先把这个技术问题讲清楚——文件到底存在哪、为什么常规方法扫不全、权限该怎么取舍——然后给出我的离线方案以及我为此写的一个小工具最后老实交代它做不到什么。写给遇到同样问题的朋友也写给同行。一、聊天文件都藏在哪存储路径的实际分布动手之前先搞清楚一件事微信、QQ 的聊天文件不是集中存放的而是按类型、账号、时间散落在多个目录。以较新版本的微信、QQ 为例不同版本路径有差异仅示意来源常见位置特点微信 图片/视频/语音Android/media/com.tencent.mm/MicroMsg/账号哈希/image、video、voice2目录名带账号哈希旧版在Android/data下还有 image2 缓存QQ 语音/图片Android/data/com.tencent.mobileqq/Tencent/MobileQQ/QQ号/...大量子目录按哈希命名语音在 ptt 等目录TIMAndroid/data/com.tencent.tim/Tencent/TIM/...结构与 QQ 类似企业微信Android/data/com.tencent.wework/...混合结构部分文件无扩展名各类文档Download/应用名/或应用私有目录命名不规则常被重命名成哈希值三个共同的麻烦大本营在Android/data和Android/media下——Android/data从 Android 11 起是受限目录普通文件管理器和媒体库接口基本无权访问大量隐藏目录以.开头的目录和文件如语音的.snd片段在文件管理器里默认不可见文件名哈希化 .nomedia很多图片视频没有规范扩展名或所在目录放了.nomedia系统媒体库直接不收录。二、为什么系统媒体库和普通文件管理器帮不上忙Android 的媒体库MediaStore只在文件被扫描入库时建立索引.nomedia目录、无扩展名文件、受限目录里的内容都不在其覆盖范围内。也就是说用相册 API 或 SAF 去枚举天然就漏掉一大块。官方给普通用户的路只有两条在聊天窗口里一张张长按另存或者用电脑版微信做整体备份。都不是批量的体验QQ 的情况只多不少。想在系统层面对付这件事主流选择其实只有三种root / Shizuku权限最足但门槛高不适合普通用户ADB 桥接要连电脑开调试流程对小白不友好MANAGE_EXTERNAL_STORAGE所有文件访问 逐层遍历一步授权之后纯本机搞定这是大多数同类工具的选型也是我的方案。三、我的方案离线扫描 按来源和类型归类思路不复杂用所有文件访问权限对存储卷做逐层遍历按路径特征把文件归到来源应用 × 文件类型两个维度再交给用户勾选导出。归类规则用关键词匹配即可覆盖绝大多数情况示意代码// 示意按路径特征把文件归到来源应用简化版 val SOURCE_RULES listOf( Rule(微信, listOf(com.tencent.mm, MicroMsg)), Rule(QQ, listOf(com.tencent.mobileqq, MobileQQ)), Rule(TIM, listOf(com.tencent.tim, Tencent/TIM)), Rule(企业微信, listOf(com.tencent.wework)), ) fun classify(path: String): Rule? SOURCE_RULES.firstOrNull { r - r.keywords.any { path.contains(it, true) } }扫描结果按微信 / QQ / TIM / 企业微信和图片 / 视频 / 语音 / 文档两个维度分类浏览勾选后导出到Download/下的独立目录之后拷电脑、传网盘都随意。我把这套方案做成了一个安卓小工具——皮皮聊天备份APK 约 5MBAndroid 8.0夸克网盘下载https://pan.quark.cn/s/5305f9e21119 功能介绍和常见问题见 beifen.pipiapp.cn 。使用就三步安装后授予所有文件访问权限 → 扫描 → 勾选导出。四、权限与架构的取舍写给同行1. 不申请 INTERNET 权限隐私不能只靠声明Android 上有个更硬的做法整个 APK 不声明android.permission.INTERNET清单里只有存储权限uses-permission android:nameandroid.permission.MANAGE_EXTERNAL_STORAGE / !-- 注意没有 INTERNET 权限。进程在网络层面发不出任何数据 --没有网络权限不上传就从承诺变成了架构约束——抓包什么都抓不到因为它连发起请求的能力都没有飞行模式下也能完整工作。2. 为什么敢用 MANAGE_EXTERNAL_STORAGE这个权限确实大大权限的正当性要靠另外两件事支撑一是必要性——.nomedia、隐藏目录和受限路径决定了媒体库 API 覆盖不全只有逐层遍历能扫干净二是收敛——权限只用于本机读文件配合上一条无网络权限扫描结果在物理上出不了这台手机。3. 长扫描的崩溃恢复几千上万个文件的中途进程被系统杀掉是常态而不是意外。所以扫描状态要做持久化异常退出后重新打开回到安全状态不卡死、不串状态。对备份工具来说稳定性是底线比多一个花哨功能重要。4. 体积与依赖5MB 的 APK 意味着没有广告 SDK、没有 WebView、没有全家桶依赖——这也顺带回答了免费工具图什么它没有需要变现的东西。五、它不能做什么一个工具的可信度一半来自老实交代边界不能恢复已删除的内容只扫描手机里现存的文件文件删了就是没了这不是数据恢复软件备份的是文件不是聊天记录数据库不做微信聊天记录的迁移只做把聊天产生的媒体文件批量导出这一件事仅用于备份本人数据只处理你自己手机上的文件不支持也不鼓励查看别人的聊天内容。六、常见问题Q1微信聊天图片怎么批量导出到电脑扫描后按图片类型筛选、勾选导出文件统一落在Download/下的导出目录再用数据线拷到电脑。不用连电脑版微信也不用一张张另存。Q2QQ / TIM / 企业微信的文件支持吗支持四个来源并列按来源分类浏览时可以单独切页签导出流程一致。Q3视频导出后画质会变吗不会。按原始文件原样复制不转码不压缩。Q4能找回已删除的聊天图片吗不能只扫现存文件见第五节边界说明。Q5会上传我的聊天记录吗不会。APK 不含网络权限系统层面发不出数据断网也能用。七、用 AI 辅助开发的一点感受这个项目从界面到扫描逻辑是借助 AI 完成的。体会是AI 负责把想法快速变成能跑的代码但要不要网络权限权限怎么收敛边界划在哪这些取舍得自己想清楚再落进设计。一个人加 AI把以前觉得启动成本太高的小工具真正做完这在几年前不敢想。后续我单独写一篇开发过程的技术复盘。八、总结微信/QQ 聊天文件难备份的根源散落在Android/data、Android/media的哈希目录里还有.nomedia和隐藏目录让媒体库扫不全系统层面的可行解MANAGE_EXTERNAL_STORAGE逐层遍历按来源应用 × 文件类型归类架构上用不申请 INTERNET 权限把隐私做成约束而不是承诺配崩溃恢复保长扫描稳定工具地址APK 约 5MBAndroid 8.0https://pan.quark.cn/s/5305f9e21119 介绍页 beifen.pipiapp.cn 。如果你也在换机或想归档几年的聊天图片视频欢迎按上面的思路自己折腾或直接用现成工具用着有问题或希望支持新的来源评论区交流。
企业数字化 ERP 产品动态
相关推荐
如何用 Open3D 完成文物数字化:3D 扫描、重建与虚拟修复 如何用 Open3D 完成文物数字化:3D 扫描、重建与虚拟修复 【免费下载链接】Open3D Open3D: A Modern Library for 3D Data Processing 项目地址: https://gitcode.com/gh_mirrors/op/Open3D
给一件器物建档,修复师最怕的不是数据量大,而… · 2026/11/10 22:10:37
第七周工作纪要 常见 CAD 相关后缀文件一览后缀是什么能不能删.dwgAutoCAD 图形文件本体绝对不能删(配置/资源/程序类).dwt图形模板不要删(配置/资源/程序类).dws标准文件不要删(配置/资源/程序类).bak备份文件,… · 2026/11/8 23:24:09
壶关电工证怎么考取的怎么报名?怕考不过白交培训费 壶关电工证怎么考取的怎么报名?怕考不过白交培训费 你是不是也担心,花了几千块报名培训,结果考试不过,钱就白花了?壶关电工证怎么考取的这个问题,其实很多人心里都有疑问,但真正去了解的却不多。今天我来跟你唠一唠,怎么报名、怎么考、怎么不白交钱,… · 2026/11/11 2:45:09
南宁高压电工证难度报名费多少钱多久拿证 南宁高压电工证难度报名费多少钱多久拿证 证书过期了不知道怎么复审延期,你是不是也遇到过这种情况?别急,这篇文章帮你理清南宁高压电工证的难度、报名费、拿证时间以及复审流程,还有你关心的行业前景和考试重点。… · 2026/11/11 2:45:09
苍南电工证哪里考保姆级教程:学历不高怕报不上名?这几点你必须知道 苍南电工证哪里考保姆级教程:学历不高怕报不上名?这几点你必须知道 学历不高怕报不上名?别急,苍南电工证哪里考,其实没你想象的那么难。今天就来告诉你,如何从零开始,一步步拿到电工证,甚至还能在行业内提升收入。这篇文章是 保姆级教程… · 2026/11/11 2:45:09
没电工证怎么罚款?在哪考才能不被坑? 没电工证怎么罚款?在哪考才能不被坑? 你是不是也遇到过这种情况:工地上的电工没证被查了,罚款一交就是几千块,还影响公司信誉?更头疼的是,不知道在哪考电工证,生怕被中介坑了钱还拿不到证?别急,今天我就从信阳市政公用工程从业者的角度,帮你理清楚… · 2026/11/11 2:45:09
换电工证考什么科目?外省证能转过来吗?值不值得考? 换电工证考什么科目?外省证能转过来吗?值不值得考? 之前考的证在外省能不能转过来?这几乎是所有准备换电工证的人最关心的问题。尤其是像你这样在信阳浉河区从事市政公用工程的人员,可能手上拿着外地的电工证,现在想在本地继续发展,又怕证书过期或者无… · 2026/11/11 2:44:09
电工证丢失还能补吗?千万别踩坑,丢了证等于失业 电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/10 2:16:10
电力电缆作业证直播报名入口与办理流程良心建议 电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/10 17:46:39
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/10 17:11:43
_中职电工证最新政策解读 中职电工证在哪考?工地太忙根本没时间复习考试的救星来了 工地太忙根本没时间复习考试,这是很多正在备考 中职电工证 的建筑工友的真实写照。你不是不想考,而是真的没时间。但别担心,这期内容是 新乡初次报考人员… · 2026/11/11 0:00:52
昆明电工证培训价格值不值得考?老电工告诉你真相 昆明电工证培训价格值不值得考?老电工告诉你真相 之前考的证在外省能不能转过来?这个问题是很多在外地打工、换城市生活、或者是想在昆明发展的朋友最关心的。尤其是现在云南发展快,很多企业都在招持证上岗的电工,如果你手头有证但不在本地,那这个证是不… · 2026/11/11 0:00:52
特种电缆张工网上查询全攻略:外省证如何转过来 特种电缆张工网上查询全攻略:外省证如何转过来 之前考的证在外省能不能转过来?这是很多特种作业从业者最关心的问题,尤其是像特种电缆张工这类证书,直接关系到日常工作是否合规、能否顺利晋升。很多小伙伴因为证书归属地的问题,陷入职业发展的瓶颈,甚至… · 2026/11/11 0:00:52
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 20:19:29
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 19:22:45
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 17:00:47