搞定 macOS 与 Android 的文件同步:我的有线与无线方案

作为知名的 Apple 生态内设备,我手上的 iPhone 自然可以和 MacBook Pro 利用隔空投送互相传送文件,不需要额外安装客户端的同时速度还特别快,这种体验也让 iPhone 羡煞我手里的一众 Android 设备。

但随着手里 Android 设备的增多,互传需求也越来越迫切,主力使用 MacBook 的我不由得开始思考:以开放著称的 Android 生态,难道还不能渗透过 Apple 这道生态壁垒吗?

本文介绍几种 Android 设备与 MacBook Pro 互传/同步文件的方法。

公网传输与有线传输

「把文件发给自己」的公网传输形式与插根 USB 线拖文件是比较常见的两种方案。作为最符合直觉的方案,给自己发消息来同步文件的确还不错,微信桌面版的文件传输功能经常被许多用户当作「暂存地」来存储临时文件、草稿等。

但在我看来公网传输只适合较小的文件,与聊天应用的深度集成非常适合转发他人发送的文件。不过这个方法的弊端也相当明显:微信只能单端登录的特性并不适合多台 Android 设备加身的用户,200MB 在今天依旧不能称之为「大文件」;公网传输的速度也不能令人满意(一上传一下载要打个折)。

而对于追求无线化数字生活的朋友们来说,掏根数据线来传文件比速度慢更难以忍受,使用第三方应用的话还要继续配对一次才能开始文件传输。不过从另一方面来说,有线传输应对偶尔的、超大级文件传输依旧有稳定性、速度方面的优势,同时还可以避免局域网互传大文件造成的网络堵塞瘫痪。

Android 与 macOS 并不能插上线就直接传文件,而是需要额外安装来自 Google 的 Android File Transfer 才行。反正都要安装个应用,界面更为友好的第三方客户端也是个不错的选择,无论是老牌的 AirDroid、Setapp 上的 AnyDroid 还是锤科的 HandShaker 都够用了。

如果你一直习惯用我们此前介绍过的 scrcpy 来有线投屏手机到 macOS,这款免费开源的镜像工具其实自带传输文件特性,直接把文件往镜像的窗口一拖,文件就会传输到手机的存储根目录。

拓展阅读高清投屏要付费?免费、开源、高码率的 Android 投屏控制工具 Scrcpy

局域网传输与同步

前段日子恰逢 Google Photos 更改了图片备份的政策,手中的 Pixel XL 作为唯一可无限期原图备份的设备变得更加金贵了起来。好好利用这份优势将手上的非 Pixel 设备、macOS 电脑以及相机拍摄的照片都同步到 Pixel XL 上进行原图备份的机会不容错过,但公网传输的方案肯定不现实,反复插拔数据线来一个个导入又显得繁琐。局域网传输自然是最佳方案了,可怎么部署呢?

拓展阅读Google 相册取消无限容量备份,你还有这些优质选择

局域网传输我先大致分为两类,一类是让某一设备成为「服务端」这样的存在,这样同在一个局域网的其他设备就能通过某种通讯协议访问到服务端,进行文件同步。另一类就则是点对点配对、同步,形式上有点像 AirDrop,只不过依旧需要借助本地 Wi-Fi。前者适用于一对多的场景(当然也可以一对一),后者适合一对一的场景。

想要 macOS 与 Android 两者互动,这些方案都值得一试,也不冲突。至于哪种方案适合自己,就需要大家先考量自己传输文件是什么场景、为了达成什么效果。另一方面,我也区分开了文件的「手动管理」「自动同步」两类场景。有趣的是,后者的同步单位/载体已经不止于「设备」这个概念,而是更多基于「文件夹」这个颗粒度更小的概念。

使用自动同步备份照片

以前文将 macOS 上的照片备份到 Android 手机上为例,这是比较典型的一对一同步传输,也是一种比较典型的「自动同步」场景。我决定用第三方应用来辅助、简化这个同步流程。在这里我使用的是 Resilio Sync,也可以用类似的代替品如 Syncthing 等。他们本身可以通过公网同步,不过在此之前会先行扫描本地局域网,这样的话传输速度基本就受限于手机与路由器的实际带宽了。

在 macOS 和 Android 上都安装运行 Resilio Sync。在 macOS 端设定好想要被同步过去的文件夹(我这里是相机导出到电脑上的照片文件夹),随后将此共享给手机即可。共享的三种方式里我觉得最简单的还是扫码,macOS 端同意一下就能完成配对。往后这两份文件夹的命运可就绑在了一起了,只要客户端还在运行,新的照片就会自动同步到 Android 手机上。开启读写权限后,Android 上的文件也能反向传输过去。

以我自己的使用体验为例,一天下来就算拍摄几十张,同步的时间也不太会超过一分钟,RAW 格式的照片传输个几百张的话还是要等个几分钟的。顺带同步的 iPhone 照片因为支持更高压缩率的 HEIC 格式还会更快一些。其余 iPhone、三星、索尼、摩托罗拉、红米手机想要一并将自己拍摄的照片交由 Pixel 备份的话,只需要如法炮制即可。

搭建更灵活的文件服务器

可如果不止一个手机想和 macOS 同步文件怎么办?让 Pixels、三星、索尼、摩托罗拉、红米和 macOS 一一建立配对关系吗?如果我想跳过同步,直接通过手机访问到 macOS 上的任意某个我也说不准举不出例子的文件怎么办?Resilio Sync 这种事先建立好文件夹配对的方案就不够灵活了。

其实问题解决起来没那么复杂,比如小学电脑课老师口中的 ftp 协议就能满足这样的需求。甚至都不需要额外安装客户端,Apple 早已经悄悄让 macOS 时刻准备着光荣成为上文提到的「服务端」,并且采用了更先进的 sftp 协议(即安全 ftp 协议)。

具体的设置过程简单到可以照搬 Apple 的 指南

  1. 在 Mac 上,选取苹果菜单 >「系统偏好设置」,点按「共享」,然后选择「远程登录」。
  2. 选择「远程登录」复选框。
  3. 选择「所有用户」:您电脑的任何用户及网络上的任何人都可以登录。

请注意 Remote Login: On 下的那行小字中的信息:ssh [email protected],这里包含了你登录这个 sftp 服务器要用到的重要信息,地址是 luzhongnandembp.lan,用户名是 luzhnan,而密码就是你开机时解锁用的密码。在 Android 上(iOS 同理)就可以用支持 sftp 协议的文件管理应用登录到这台 macOS 管理文件啦。考虑到我们同时还有「同步」这个需求,这里我就推荐 FolderSync 这款应用,好看、权限需求明确、功能设计合理。

在账户页面添加一个 sftp 协议的账户,填写入刚刚提到 3 个重要信息就大功告成了。可以先点按测试看看能否成功。如果提示无法找到地址而失败的话,可以考虑把地址改为 macOS 的内网 IP 地址试试(改为内网 IP 地址意味着换个 Wi-Fi 就就不能用了)。

添加完毕账户,我们就可以在文件页面主动管理 macOS 上的所有文件;我们也可以在同步文件夹页面开始给 macOS 上的文件夹和 Android 上的文件夹拉配对。具体要给哪些文件夹拉配对,就需要考验诸位的想象力了。

仔细回忆一下自己关于同步的困扰。

刷 Magisk 时需要把 macOS 上的镜像文件传输到手机打包,再传输回 macOS 刷入手机,来来回回的是不是很麻烦?写稿时一口气搞定的手机截图、录屏虽然畅快,结果还是需要打包传输到电脑再解压、放进文章?为什么 Android 手机的备份文件不能存储到实惠的 iCloud Drive?……每一个感叹「为什么科技发展到了今天传输文件还是如此麻烦!」的时刻都是需要我们去打通的难关。

使用高通骁龙 660 的红米 Note 7,传输速度上依旧不及旗舰芯片。

往昔的这些场景浮现起来止都止不住,而每个场景都对 FolderSync 提出了更细分的要求:有的想把文件往 macOS 上「推」,有的想把 macOS 上的文件「拉」回到手机,有的想同步删除有的不想删除……再来个严肃一点的场景:同一篇稿件两边都修改了怎么办?好在 FolderSync 足够老牌,足够经得起这些考验。在同步方面,有许多高级选项可供选择,这些选项也已经有中文支持。

FolderSync 的能耐可不仅限于本地传输,想必刚刚添加账户的时候你也注意到了,除了 smb、ftp 这类古老传统的传输协议,FolderSync 还支持配置同步各大国外网盘,咱们读者朋友肯定也对 Dropbox、Google Drive、OneDrive 等不陌生了。如果你正在使用的国内网盘刚好支持 WebDAV (比如坚果云),那也可以一并配置。狡兔何止三窟,还要整几个云窟。

结语

无论是有线还是无线,是否需要客户端,Android 与 macOS 的传输、同步办法各自都有好几种。在这些方法和工具面前,如何挑选才最适合自己?不妨在接下来的时日里记录下这两个平台间自己的传输需求与想达成的效果,是想要主动操作的互传还是想要默默运行的同步/备份?是否想要额外安装客户端?从自己的高频需求开始解决,相信你很快就能享受到数据互通的便利。

© 本文著作权归作者所有,并授权少数派独家使用,未经少数派许可,不得转载使用。