在 macOS 和安卓或其他 MTP 设备之间传输文件一直是一场噩梦。市面上有一些 MTP 文件传输应用,但它们要么价格昂贵,要么用户界面和体验很差。谷歌官方为 macOS 提供的"Android File Transfer"应用存在诸多问题和限制,比如无法传输大于 4GB 的文件、频繁断开连接、无法重命名安卓/MTP 设备上的文件夹或文件等。其他大多数在线应用则使用 WiFi 或 ADB 协议传输文件,这是一个极其耗时的过程。
无数次搜索寻找解决这些问题的应用却一无所获,这让我倍感焦虑。于是,我决定自己开发一个应用,帮助我们实现从 macOS 到安卓/MTP 设备的流畅无忧的文件传输过程。本着回馈社区的初衷,我们都可以在今后免费使用这个应用。
OpenMTP 3.0 采用了全新的 MTP 内核,该内核是从零开始编写的。它在中低端设备上可实现 30 到 40 MB/s 的文件复制速度,在高端设备上可达到 100 到 120 MB/s。这个全新强大的 MTP 内核以 A. P. J. Abdul Kalam 博士 的名字命名。
欢迎查看我为构建 Kalam 内核而编写的 Go 包:github.com/ganeshrvel/go-mtpx。欢迎提交 PR。
Kalam 内核更新,包括新设备支持、修复和稳定性改进。macOS Big Sur (11.0) 及以上版本将收到上述更新Kalam 内核支持。这些过时机器上只能继续使用"旧版"MTP 模式Intel 和 ARM64 机器发布更新# 新版本: brew install openmtp --cask # 旧版本: brew cask install openmtp


| 命令 | 键盘快捷键 |
|---|---|
| 删除 | <kbd>backspace</kbd> |
| 新建文件夹 | <kbd>command (⌘)</kbd>+<kbd>n</kbd> |
| 复制 | <kbd>command (⌘)</kbd>+<kbd>c</kbd> |
| 复制到队列 | <kbd>command (⌘)</kbd>+<kbd>shift</kbd>+<kbd>c</kbd> |
| 粘贴 | <kbd>command (⌘)</kbd>+<kbd>v</kbd> |
| 刷新 | <kbd>command (⌘)</kbd> +<kbd>r</kbd> |
| 返回上级文件夹 | <kbd>command (⌘)</kbd>+<kbd>b</kbd> |
| 全选 | <kbd>command (⌘)</kbd>+<kbd>a</kbd> |
| 重命名 | <kbd>command (⌘)</kbd>+<kbd>d</kbd> |
| 切换标签 | <kbd>command(⌘)</kbd>+<kbd>1</kbd> |
| 打开 | <kbd>enter</kbd> |
| 向左导航 | <kbd>left</kbd> |
| 向右导航 | <kbd>right</kbd> |
| 向上导航 | <kbd>up</kbd> |
| 向下导航 | <kbd>down</kbd> |
| 向前选择多个项目 (网格视图) | <kbd>shift</kbd>+<kbd>left</kbd> |
| 向后选择多个项目 (网格视图) | <kbd>shift</kbd>+<kbd>right</kbd> |
| 向前选择多个项目 (列表视图) | <kbd>shift</kbd>+<kbd>up</kbd> |
| 向后选择多个项目 (列表视图) | <kbd>shift</kbd>+<kbd>down</kbd> |
| 选择多个项目 (使用鼠标) | <kbd>command (⌘)</kbd>+<kbd>click</kbd> 或 <kbd>shift</kbd>+<kbd>click</kbd> |
要求:Node.js v16、Git 和 Yarn 包管理器
$ git clone https://github.com/ganeshrvel/openmtp.git $ cd openmtp # 安装 yarn npm install -g yarn # 安装 sentry cli npm -g i @sentry/cli
$ yarn
新克隆的项目可能会抛出"未定义状态"错误。运行以下命令一次以解决该问题。
# 对于 Mac 和 Linux $ UPGRADE_EXTENSIONS=1 npm run dev # 对于 Windows $ set UPGRADE_EXTENSIONS=1 && npm run dev
# 开发环境 $ yarn dev # 预生产环境 $ yarn start
# 在终端运行 $ "/path/to/OpenMTP.app/Contents/MacOS/OpenMTP" --remote-debugging-port=6363
localhost:63636363 检查 OpenMTPAPPLEID: <Apple 开发者账号用户名>APPLE_APP_SPECIFIC_PASSWORD: <应用特定密码>
APPLE_TEAM_ID: <Apple 团队 ID>
SENTRY_URL: https://sentry.io/SENTRY_ORG: <Sentry 组织名称>SENTRY_PROJECT: <Sentry 项目>SENTRY_TOKEN_ID: <Sentry 认证令牌>
event:admin, event:read, member:read, org:read, project:read, project:releases, team:readGITHUB_TOKEN: 个人访问令牌
内容 - (读取和写入代码的访问权限)admin:gpg_key, admin:public_key, repo, user, workflowCSC_LINK:
默认钥匙串 -> 登录 -> 我的证书Developer ID Application
Developer ID Application 的搜索结果,请从这里创建一个:Apple 开发者证书Developer ID ApplicationDeveloper ID Application: <用户名> (XXXYYYZZZ)Mac Developer ID Application: <用户名>
Mac Developer ID Application: <用户名>Mac Developer ID Application: <用户名>Mac Developer ID Application: <用户名>CERTIFICATE_PRIVATE_KEY.p12CSC_KEY_PASSWORD,请记下base64 -i CERTIFICATE_PRIVATE_KEY.p12 -o CERTIFICATE_PRIVATE_KEY.txtCERTIFICATE_PRIVATE_KEY.txt 文件的全部内容CSC_LINK 字段的值CSC_KEY_PASSWORD 是上一步中的密码CODEMAGIC_AUTH_TOKEN_ID: <CodeMagic API 令牌>
CODEMAGIC_INTEL_X64_WORKFLOW_ID_PROD: <生产环境 codeMagic 工作流 ID>
codemagic.yaml 中找到相关的工作流 ID(通常是 macos-intel-x64-build-prod)CODEMAGIC_INTEL_X64_WORKFLOW_ID_DEV: <开发环境 codeMagic 工作流 ID>
codemagic.yaml 中找到相关的工作流 ID(通常是 macos-intel-x64-build-dev)PUBLISH_PROD_REPOSITORY: <用于发布生产应用的仓库>PUBLISH_DEV_REPOSITORY: <用于发布开发应用的仓库>CODEMAGIC_PUBLISH_PROJECT_ID: <Codemagic intel 项目 ID>PUBLISH_EMAIL: 接收发布更新的电子邮件地址设置 代码签名 以构建、本地打包和发布应用。
macOS 应用公证(非 macOS 构建请跳过此部分)
APPLEID 和 APPLE_APP_SPECIFIC_PASSWORDsecurity add-generic-password -a "<apple-开发者账号用户名>" -w <应用特定密码> -s "APPLE_APP_SPECIFIC_PASSWORD"
Sentry
npm install -g @sentry/wizard sentry-wizard --integration electron # 上传调试信息 # 每次升级electron.js版本时运行: node sentry-symbols.js sentry-cli login
打包 说明:https://www.electron.build/code-signing
$ export GH_TOKEN="<github token>"
# 针对本地平台 $ yarn package # 针对多个平台 $ yarn package-all
https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/400
https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/118
https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/108
# 对于Mac和Linux $ UPGRADE_EXTENSIONS=1 npm run dev # 对于Windows $ set UPGRADE_EXTENSIONS=1 && npm run dev
Speech framework is not compatible with macOS < 10.15yarn install将抛出npm-rebuild错误package.json中移除node-mac-permissions依赖webpack/config.base.js中的default.plugins添加ignorePlugin行
new webpack.IgnorePlugin({ resourceRegExp: /^(node-mac-permissions)$/u }),NODE_MAC_PERMISSIONS_MIN_OS常量定义了显示macOS使用访问权限弹出窗口所需的最低操作系统版本特别感谢CodeMagic和Kevin Suhajda赞助他们的CI/CD虚拟机,使应用程序发布变得更加流畅和容易。🎊🎊 请查看他们的产品部分以了解更多。
感谢Ayushi Bothra女士为文档和页面做出贡献。
应用程序logo由Shubhendu Mitra贡献。请务必在Behance上查看他的更多作品。
感谢Vladimir Menshakov开发的android-file-transfer-linux(MTP旧版内核)
特别感谢@yennsarah、@h0tk3y、@riginoommen、@AjithKumarvm、@kiranshaji555、Dick Cowan、Kjell Dankert、Thorolf E.R. Weißhuhn以及所有其他帮助我测试应用程序的社区成员。
这个应用程序基于https://github.com/ganeshrvel/electron-react-redux-advanced-boilerplate构建,该项目是https://github.com/electron-react-boilerplate/electron-react-boilerplate的一个经过大量修改的分支。
应用程序中使用的图标由flaticon、good-ware和kiranshastry制作,遵循CC 3.0 BY许可。
"未找到图片"图标由Phonlaphat Thongsriphong制作。
如果您有兴趣修复问题并直接贡献代码,请参阅指南。
帮助我保持应用程序对所有人免费开放。
如有任何问题,请随时通过ganeshrvel@outlook.com与我联系。
OpenMTP | Android File Transfer for macOS 根据MIT许可证发布。
版权所有 © 2018-至今 Ganesh Rathinavel


全球首个AI音乐社区
音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。


阿里Qoder团队推出的桌面端AI智能体
QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。


一站式搞定所有学习需求
不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。


为AI短剧协作而生
专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。


能听懂你表达的视频模型
Seedance two是基于seedance2.0的中国大 模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。


国内直接访问,限时3折
输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动


职场AI,就用扣子
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!


多风格AI绘画神器
堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。


零代码AI应用开发平台
零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号