作为一名iPhone用户,有一台Android备用机是很常见的事情,但是我们往往不想随身携带两台手机,总梦想着能远程控制Android手机。远程控制Android系统有着许多方案,teamviewer、向日葵等等,但是大多有个缺点,就是需要被控的手机先确认被控制请求才能执行远程控制,这显然不能满足我们的需求。在测试了各种远程控制方案后,终于找到了Scrcpy-IOS。
软件准备
iOS端
Scrcpy-IOS(https://github.com/wsvn53/scrcpy-ios)
我们的主角,它是开源项目Scrcpy的iOS实现版本,关于Scrcpy可以查看https://github.com/Genymobile/scrcpy
AltStore(https://altstore.io/)
一款非常好用的IPA自签名工具,由于Scrcpy-IOS
无法上架App Store,所以只能通过自签名的方式进行安装
Android端
Termux(https://github.com/termux/termux-app)
Android上的一款Linux模拟环境软件,用于搭建SSH Server和运行ADB,可用其他设备Linux系统代替
其他
OpenSSH(https://www.openssh.com/)
ADB(https://developer.android.com/studio/command-line/adb)
安装AltStore
先到AltStore官网(https://altstore.io/)下载macOS或Windows的客户端,并在电脑上安装。
注意
在macOS上需要安装mail plug-in,并开启该插件;并且,在将AltStore安装到iPhone时需要保持mail.app运行。
在Windows上需要安装最新版的iTunes。
然后将iPhone通过数据线连接到电脑上,并执行安装操作。
安装Scrcpy-IOS
这里介绍的是通过重新签名方式安装Scrcpy-IOS,有条件自行编译的也可以根据作者文档进行构建。
下载地址:https://github.com/wsvn53/scrcpy-ios/releases
- 下载Scrcpy-IOS的最新版本IPA文件,并拷贝至任何用iOS上文件APP能打开的位置,例如iCloud文档等;
- 在iPhone上打开AltStore,保持iPhone与安装了AltStore的电脑处于同一个局域网中;
- 然后在settings中登录你的AppleID账号,然后在My Apps中点击左上角加号,在文件中选取Scrcpy.ipa,进行重签名与安装。
由于我的AppleID不是开发者,所以重签名的IPA只有7天有效期,当iPhone与安装了AltStore的电脑处于同一个局域网中是,AltStore可以自动重新签名
至此,已经完成了iOS控制端的软件安装,但是,这还无法做到直接控制Android手机,接下来开始准备被控制端。
构建SSH Server与安装ADB
Scrcpy-IOS需要一台SSH Server作为桥梁,并通过该服务器的ADB来连接Android,从而实现iOS到Android的数据传递。
此处介绍的是在Android上安装Termux,并在Termux上安装sshd和adb,来实现中转。这样的好处在于不用再另外找一台电脑来当这个桥梁。
当然也可以利用其它的Linux服务器来作为中转,推荐ubuntu或debian,因为它们可以更容易的安装ADB工具。
-
在Termux中安装sshd和adb
pkg install openssh android-tools
- 创建或更改SSH登录密码
passwd
- 启动sshd
sshd
- 设置sshd自动启动,否则每次重启Termux都需要手动输入sshd
echo "sshd" >> ~/.bashrc
- 在Termux中启动adb
adb start-server
- 设置adb自动启动
echo "adb start-server" >> ~/.bashrc
- 开启手机的开发者模式,并在开发者选项中开启USB调试;在我的Android手机中,开启USB模式后,就可以在Termux中进行ADB连接了
- 通过
adb devices
命令检查设备连接状态
- 若无法通过USB连接,我们也可以通过WiFi无线调试模式连接手机
# 先将手机通过USB连接至电脑,通过电脑端adb执行以下命令
adb tcpip 5555
# 再到跳板机上,通过[ip]:[port]连接手机
adb connect x.x.x.x:5555
开始控制
打开iOS端的Scrcpy,并填入SSH Server、Port、User、Password,调整scrcpy的相关参数后,点击connect进行远程控制。
并且可以通过frp等内网穿透工具,将SSH Server的登录地址及端口映射出去,然后进行外网远程控制,注意若要进行内网穿透,请保证SSH密码强度。
小结
通过Scrcpy控制Android,感觉比其他teamviewer、向日葵等方案要流畅很多,同时免root、无需被控端确认,只是无法传输声音,无法直接打电话。
另外,在Android 12,受保护的页面会在Scrcpy中显示黑屏,例如密码解锁页面,我的做法是去除密码解锁。
继续加油哦,争取发表更多优秀帖子
又学习到了,写的非常好?
感谢分享,让我好好学习一下
支持支持一下
这真是个好文章,谢谢
感谢分享~
先看看,不明白的地方再问
感谢分享
打卡升级
谢谢大佬分享,谢谢!