安卓手机投屏至电脑, 电脑显示和控制安卓手机, 手机电脑同屏软件Scrcpy-CarlZeng
背景
苹果电脑如何显示和操作安卓手机呢?由于受限于已有的硬件、使用习惯和越来越多应用只支持手机端,而安卓模拟器无法实现100%完全模拟手机,该需求有点偏门。
主旨是实现在电脑上操作手机,这样可以用键盘和鼠标来操作手机(比如越来越多的手游接受键盘鼠标的操作,而且效率更高,更精准)
电脑如何(显示和)操作安卓手机? 特殊直播录屏? 可将任何手机显示画面1:1录制到电脑的mp4媒体文件
了解到应用:frpc穿透被控端手机B这个scrcpy端口到外网以后,然后主控端A连接进行原创控制手机。
同样也是要求要开启手机的ADB调试,显然这个方案对于远程协助老年人是很难实施的。不过思路很清晰,年轻人可灵活变通应用。
硬件清单
- Mac M1
- 安卓手机
软件清单
- SCRCPY (or Screen Copy) is a free and open-source application that allows you to display and control your Android device from your computer. 开源免费的屏幕复制应用,允许你在电脑上显示和控制你的安卓设备
- 或者QtScrcpy.app,这个APP是UI界面版的scrcpy,对于初级用户更加友好。
实测操作体验/应用
请使用USB线直连电话,不能通过拓展坞。否则USB Debugger会无法检测到设备
- 将手机和电脑连接到同一局域网
- 安卓手机端在开发者选项中打开 USB 调试
- 这个步骤不同的安卓手机会略微有差异,此处拿一加8T举例:打开设置
- 拉到最下面找到并进入:“关于手机”
- 找到并一直点击:“版本号”
- 系统提示:“现在只需在进行3部操作即进入开发者模式”“现在只需在进行2部操作即进入开发者模式”“现在只需在进行1部操作即进入开发者模式”,输入您的设备数字密码以继续,“您现在处于开发者模式”
- 开启后,如果继续点击“版本号”,会提示:“您已处于开发者模式,无需进行此操作”
- 打开设置 》 系统 》开发者选项
- 开启:“USB调试”,“网络ADB调试”,“无线调试”
- 通过 USB 连接安卓手机到电脑
- 下面的步骤适用于scrcpy,下载后直接在Terminal中运行如下(二选一): 应用在录屏上的命令:
1
2
3
4
5//这是在WIFI连接的情况下
scrcpy -e
//这是在USB连接的情况下
scrcpy -d
把手机屏幕录制并保存为mp4文件,scrcpy to record screen with sound,手机的声音也可以一起录制到视频中。 命令举例:1
scrcpy \-S -e -r test20230904.mp4
QtScrcpy
下面的步骤适用于QtScrcpy.app
点击刷新设备,会看到有设备号更新出来
点击获取设备 IP
点击启动 adbd
无线连接
再次点击刷新设备,发现多出了一个 IP 地址开头的设备,选择这个设备
启动服务
实际应用
- 在电脑上玩安卓手游
- 电脑上操作手机
- 直播录屏
- 保护眼睛,不受手机6.55英寸小屏幕的局限
可以把整个手机屏幕在高清大电脑屏幕拉大
1 | 常用的命令,开启开发者选项以后,在开启WIFI调试 |
错误信息调试与解决
总体来说: 1. 确保处于相同的局域网(可以ping来验证) 2. 通过反复打开和关闭手机的USB调试功能来测试运行命令,查看最新的情况
错误消息#1:
ERROR: Could not find any ADB device over TCP/IP:
ERROR: (usb) adb-e0ddd964-c6dr8S._adb-tls-connect._tcp. offline
ERROR: Server connection failed
已经尝试过多次开启和关闭”USB调试”无效。这个时候,还是需要用Typec线,把手机和电脑连接在一起,重新尝试。
运行:
1 | scrcpy --list-displays |
会显示
scrcpy 2.1.1 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO: --> (usb) e0ddd964 device KB2000
/opt/homebrew/Cellar/scrcpy/2.1.1/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 58.5 MB/s (56995 bytes in 0.001s)
[server] INFO: List of displays:
--display=0 (1080x2400)
说明设备已经被APP找到了,可见是(usb),这是可以使用scrcpy -d来连接。
错误消息#2:
scrcpy 2.1.1 <https://github.com/Genymobile/scrcpy>
ERROR: Could not find any ADB device over TCP/IP:
ERROR: (usb) e0ddd964 device KB2000
ERROR: Server connection failed
可能是使用错了命令,-e 是用于连接网络相连的手机, -d 是用于连接USB(Typec)的手机。
参数说明:
-e, --select-tcpip
Use TCP/IP device (if there is exactly one, like adb -e).
Also see -d (--select-usb).
-d, --select-usb
Use USB device (if there is exactly one, like adb -d).
Also see -e (--select-tcpip).
--list-displays
List device displays.
-S, --turn-screen-off
Turn the device screen off immediately.
错误信息#3.1
ERROR: Device could not be connected (state=offline)
ERROR: Server connection failed
甚至手机端开启USB调试以后,依旧提示错误:
ERROR: Could not find any ADB device
ERROR: Server connection failed
这是授权被取消的结果,需要重新使用USB连接,进行如下的授权确认步骤:
错误消息#3.2:
连接USB后 scrcpy -d -S 出错
1 | scrcpy 2.1.1 <https://github.com/Genymobile/scrcpy> |
这是手机设备上出现了提示框,没有确认(授权)
“允许USB调试吗?
这台计算机的RSA密钥指纹如下:。。。。
一律允许使用这台计算机进行调试”
取消,允许
必须选允许,才能授权成功
还是失败的话,就需要去手机上关闭:”无线调试“,
在开启”无线调试“,在重新使用命令:scrcpy -d -S
类似的说明/分享
一加11(Android 14) Scrcpy远程调试
开启步骤:
- 打开手机: 设置 - 关于本机 - 版本信息
- 连续点击 “版本号 PHB110_14.0.0.812(CN01)” 5-6;
- 提示: 开启 开发者模式
- 提示: 您已处于开发者模式, 无需进行此操作
- 打开手机: 设置 -系统与更新 - 开发者选项
- 下拉找到:
- USB调试 (开启)
- 无线调试 (开启)
- 这个一加11已经使用了android版本14, Android 14
- 必须开启无线调试才是真的无线调试, 仅开启USB调试只能插入TypeC线连接MAC电脑进行
- 到MAC中ping 一加11的IP地址(大家处于相同的局域网情况下)
一直使用 scrcpy –tcpip=192.168.6.144
或者使用UI工具 QtScrcpy
1 | wireless connect... |
这个错误, 要检查核实手机的IP地址,
正确以后, 并且 尝试开启与关闭USB 和 无线调试
1 | connection refused |
提示这个错误, 请开启 无线调试 (开启)
更新Scrcpy的版本, 下载了当前最新版本的UI工具: QtScrcpy
如果想要实现远程调试的话, 将本手机的IP和端口 映射到frpc外网可访问即可实现: Scrcpy远程调试