安卓手机投屏至电脑, 电脑显示和控制安卓手机, 手机电脑同屏软件Scrcpy-CarlZeng

背景

苹果电脑如何显示和操作安卓手机呢?由于受限于已有的硬件、使用习惯和越来越多应用只支持手机端,而安卓模拟器无法实现100%完全模拟手机,该需求有点偏门。
主旨是实现在电脑上操作手机,这样可以用键盘和鼠标来操作手机(比如越来越多的手游接受键盘鼠标的操作,而且效率更高,更精准)
电脑如何(显示和)操作安卓手机? 特殊直播录屏? 可将任何手机显示画面1:1录制到电脑的mp4媒体文件

了解到应用:frpc穿透被控端手机B这个scrcpy端口到外网以后,然后主控端A连接进行原创控制手机。
同样也是要求要开启手机的ADB调试,显然这个方案对于远程协助老年人是很难实施的。不过思路很清晰,年轻人可灵活变通应用。

硬件清单

  1. Mac M1
  2. 安卓手机

软件清单

  • 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会无法检测到设备 

  1. 将手机和电脑连接到同一局域网
  2. 安卓手机端在开发者选项中打开 USB 调试
    1. 这个步骤不同的安卓手机会略微有差异,此处拿一加8T举例:打开设置
    2. 拉到最下面找到并进入:“关于手机”
    3. 找到并一直点击:“版本号”
    4. 系统提示:“现在只需在进行3部操作即进入开发者模式”“现在只需在进行2部操作即进入开发者模式”“现在只需在进行1部操作即进入开发者模式”,输入您的设备数字密码以继续,“您现在处于开发者模式”
    5. 开启后,如果继续点击“版本号”,会提示:“您已处于开发者模式,无需进行此操作”
    6. 打开设置 》 系统 》开发者选项
    7. 开启:“USB调试”,“网络ADB调试”,“无线调试”
  3. 通过 USB 连接安卓手机到电脑
  4. 下面的步骤适用于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

  1. 下面的步骤适用于QtScrcpy.app

    点击刷新设备,会看到有设备号更新出来
    点击获取设备 IP
    点击启动 adbd
    无线连接
    再次点击刷新设备,发现多出了一个 IP 地址开头的设备,选择这个设备
    启动服务

实际应用

  1. 在电脑上玩安卓手游
  2. 电脑上操作手机
  3. 直播录屏
  4. 保护眼睛,不受手机6.55英寸小屏幕的局限
    可以把整个手机屏幕在高清大电脑屏幕拉大
1
2
3
4
5
#常用的命令,开启开发者选项以后,在开启WIFI调试
scrcpy -d -S
#第一次执行会提示:Device could not be connected (state=offline),然后手机弹出:已连接到无线调试
#在执行一次
scrcpy -d -S

错误信息调试与解决

总体来说: 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
2
3
4
5
6
scrcpy 2.1.1 <https://github.com/Genymobile/scrcpy>
ERROR: Device is unauthorized:
ERROR: --> (usb) e0ddd964 unauthorized
ERROR: A popup should open on the device to request authorization.
ERROR: Check the FAQ: <https://github.com/Genymobile/scrcpy/blob/master/FAQ.md>
ERROR: Server connection failed

这是手机设备上出现了提示框,没有确认(授权)
“允许USB调试吗?
这台计算机的RSA密钥指纹如下:。。。。
一律允许使用这台计算机进行调试”
取消,允许
必须选允许,才能授权成功

还是失败的话,就需要去手机上关闭:”无线调试“,
在开启”无线调试“,在重新使用命令:scrcpy -d -S

类似的说明/分享

好用工具第1期:手机电脑同屏QtScrcpy

一加11(Android 14) Scrcpy远程调试

开启步骤:

  1. 打开手机: 设置 - 关于本机 - 版本信息
  2. 连续点击 “版本号 PHB110_14.0.0.812(CN01)” 5-6;
    1. 提示: 开启 开发者模式
    2. 提示: 您已处于开发者模式, 无需进行此操作
  3. 打开手机: 设置 -系统与更新 - 开发者选项
  4. 下拉找到:
    1. USB调试 (开启)
    2. 无线调试 (开启)
      1. 这个一加11已经使用了android版本14, Android 14
      2. 必须开启无线调试才是真的无线调试, 仅开启USB调试只能插入TypeC线连接MAC电脑进行
  5. 到MAC中ping 一加11的IP地址(大家处于相同的局域网情况下)

image-20241112102429227

一直使用 scrcpy –tcpip=192.168.6.144

或者使用UI工具 QtScrcpy

1
2
3
wireless connect...
adb run
AdbProcessImpl::out:failed to connect to '192.168.6.144:5555': No route to host

这个错误, 要检查核实手机的IP地址,

正确以后, 并且 尝试开启与关闭USB 和 无线调试

1
connection refused

提示这个错误, 请开启 无线调试 (开启)

更新Scrcpy的版本, 下载了当前最新版本的UI工具: QtScrcpy

如果想要实现远程调试的话, 将本手机的IP和端口 映射到frpc外网可访问即可实现: Scrcpy远程调试

个性化需求沟通 扫客服加V加群: