目前市面上的换机产品(QQ同步助手、闪电换机等)都是支持 Android to Android 的场景,如果在 iPhone 作为旧机,安卓做新机,可将 libmobiledevice 库(目前支持Mac、Windows、Linux平台)移植到安卓,拿到 iPhone 手机的本地应用信息、多媒体文件、通讯录等,从而进行换机操作。

应用场景


如图,通过某种方式将 iOS 与 Android 设备相连,在 Android 设备上读取 iPhone 手机上的通讯录、图片、音乐、视频、app 等信息,进一步实现:

  1. 在两台设备间实现数据迁移。
  2. 通过 Android 设备给 iPhone 分发下载应用。

可以简单理解为安卓手机上实现类似 iTunes 的功能。

现在市场上有没有类似应用

有的。

借助 PC 端通信

iTools / PP助手 / 快用 等都是 有着“无需越狱,即可同步”功能类似 itunes 的苹果设备同步管理软件。均提供 PC 端和手机端应用。从官网描述看,这些应用可以提供的服务主要有两个:

  1. 数据管理、同步与备份(短信、联系人、照片、音乐等)。
  2. 和 iTunes 一样进行 iOS 应用程序的安装与卸载(这种功能是违反苹果规定的)。

直接通信

诸如 Samsung Smart Switch MobileXperia™ Transfer Mobile 均提供两台设备间数据传输的功能,初衷是为了满足换机用户将旧手机里的所有资料、数据、应用导入新手机的需求。既支持 Android -> Android,也支持 iOS -> Android。具体用法看这里

获取 iDevice 数据可能的途径

iTunes

iTunes 既是一款媒体播放器,也是苹果官方提供的用于管理 iOS 设备的主要工具。通过 iTunes 可同步和备份 iPhone 上的音乐、视频、录音、电子书等。

此外还可以通过 iTunes 向 iOS 设备安装 ipa 文件

iCloud

iCloud 是苹果公司所提供的云存储和云计算服务。用户能在 iCloud 中存储音乐、照片、App、联系人和日历等,并将无线推送到用户所有支持 iCloud 同步的设备上,这也是它和 iTunes 提供的同步功能不同的一点 —— 不用使用连接线。

启示

参考 iTunes 和 iCloud 工作方式,可以猜想实现 iPhone 与安卓设备数据同步的方式有两种(不借助 PC 端,Samsung Smart Switch Mobile 确实提供了这两种同步方式):

  1. 有线。(通过 Micro USB 相连,iPhone 识别相连设备并信任后,打开安卓应用直接进行同步)。
  2. 无线。(在安卓应用输入 iCloud 账号和密码,登录后获取 iCloud 中的备份数据并同步)。

而如果要在安卓设备进行 iOS 应用的管理(获取现有应用列表、安装、卸载),则只能是通过有线的方式实现。

libimobiledevice

苹果官方提供了 iTunes 的 Mac 版和 windows 版,不支持Linux系统。一些 Linux 高手不能忍受因为要连接 iOS 设备就换用操作系统,因此就有人逆向出 iOS 设备与 Windows/Mac Host 接口的通讯协议,最终成就了横跨三大桌面平台的非官方版本 USB 接口 library —— libimobiledevice。官方描述:

libimobiledevice is a cross-platform software library that talks the protocols to support iPhone®, iPod Touch®, iPad® and Apple TV® devices. Unlike other projects, it does not depend on using any existing proprietary libraries and does not require jailbreaking. It allows other software to easily access the device’s filesystem, retrieve information about the device and it’s internals, backup/restore the device, manage SpringBoard® icons, manage installed applications, retrieve addressbook/calendars/notes and bookmarks and (using libgpod) synchronize music and video to the device. The library is in development since August 2007 with the goal to bring support for these devices to the Linux Desktop.

简而言之就是它不依赖于第三方库,跨平台的实现了 iPhone,iPod Touch,iPad 等苹果设备的通讯协议。可以看作和 iTools 一样,都是可以替代iTunes,进行 iOS 设备管理的工具。因为源码是开放的,可以自行编译,众多开发者便利用这个库开发出了各种基于不同平台的 iOS 设备管理工具。