一.usbmuxd簡介
usbmuxd 是蘋果官方的一個服務,這個服務主要用於在USB協議上實現TCP連接,將USB通信轉化爲TCP通信。蘋果的iTunes、Xcode,都直接或間接地用到了這個服務。libimobiledevice集成了usbmuxd的服務。
二.下載libimobiledevice
https://github.com/xxDroid/libimobiledevice-android。
三.使用NDK編譯libimobiledevice
我的編譯環境是在mac平臺下進行的,所以NDK是mac版本的,其他平臺的ndk請自行下載。
1.code下載完成後,解壓壓縮包,啓動終端,
2.進入libimobiledevice/android/jni/目錄:cd /Users/user/Desktop/libimobiledevice/android/jni/ /*我的代碼放在桌面*/
3.終端執行ndk的build /Users/user/Downloads/Code/tool/android-ndk-r13b/ndk-build /*ndk所在路徑*/
4.編譯成功,libimobiledevice/android/libs/中得到對應的so以及可執行文件usbmuxdd 、iproxy
四、安裝usbmuxd
將編譯得到的so文件拷貝到android設備中的:system/lib中
將編譯得到的usbmuxdd 、iproxy文件拷貝到android設備中的:system/bin中。
五,連接iphone
android設備中,
1.運行usbmuxd ./usbmxud
2.運行iproxy ./iproxy 2345 8124 /*通信端口號,2345本地local,8124對應手機端口號*/
3.iphone端啓動socketserver 端口號設置爲8124 /*可下載iphone現成工具Peertalk源碼(https://github.com/rsms/peertalk),更改端口號後安裝到手機即可*/
4.使用usb將iphone和android設備連接,啓動手機端Peertalk,連接成功,測試數據發送OK