什么是 SandboxFinder?
SandboxFinder 是一款面向 HarmonyOS 开发者的 沙箱文件浏览器。它通过在应用内集成一个轻量级的 HTTP 服务器,将原本难以直接访问的应用沙箱目录转化为一个直观的 Web 管理界面。
开发者无需频繁使用命令行工具,无论是在模拟器还是真机环境下,只需通过浏览器即可快速浏览、管理应用内部文件,极大地优化了调试流程并提升了开发效率。
核心功能解析
高效的文件系统服务
- 轻量级架构:基于 TCP Socket 构建 HTTP 服务器,启动迅速,占用资源低。
- 灵活配置:默认监听 7777 端口,支持根据项目需求自定义端口号。
- 广泛兼容:全面支持真机与模拟器,适配多种联调场景。
- 智能识别:能够自动区分文本、图片、音视频及 SQLite 数据库等多种文件格式。
直观的 Web 管理界面
- 现代前端技术:采用 Vue 3 与 Tailwind CSS 构建,界面响应式,适配多种屏幕分辨率。
- 快捷路径跳转:内置
filesDir、cacheDir、tempDir、databaseDir等核心目录入口,一键触达。 - 高效检索与排序:支持实时关键字搜索,并可按文件名称、大小、时间等多维度进行排序。
- 内嵌预览:无需下载即可直接在浏览器中查看文本、多媒体文件及数据库表内容。
强大的文件操作能力
- 基础管理:支持文件的创建、删除、重命名等常规操作。
- 大文件处理:支持多选上传、拖放上传及分块传输,可稳定处理 GB 级的大文件。
- 便捷导出:提供文件直链下载,方便浏览器直接保存或通过自动化脚本调用。
沙箱目录快速概览
HarmonyOS 为了确保存储安全,将应用数据隔离在特定的沙箱路径中(如 filesDir、cacheDir、tempDir、databaseDir 等)。利用 SandboxFinder,开发者可以快速定位这些目录,从而高效地完成日志抓取、数据库调试以及临时文件的清理工作。
快速上手指南
- 安装依赖:在项目根目录下运行
ohpm install @cxy/sandboxfinder并同步依赖。 - 启动服务:在代码中调用
SandboxFinder.run()。如需更改默认的 7777 端口,可在参数中传入自定义端口号。 - 浏览器访问:确保设备与电脑处于同一 Wi-Fi 环境,在浏览器地址栏输入
http:// 设备 IP: 端口即可进入管理界面。
适用场景
- 快速调试:替代繁琐的
hdc文件拉取操作,实现“即看即改”,缩短问题排查时间。 - 演示教学:在技术分享或团队培训时,通过 URL 直接展示沙箱结构,使演示更直观。
- 自动化同步:利用直链下载特性,编写脚本定时同步日志或数据库文件,辅助持续集成(CI)。
项目资源
GitHub 仓库地址:https://github.com/iHongRen/SandboxFinder
正文完
