跳转至

远程控制安卓手机

adb大家都不陌生,可以用来调试安卓机器,非常强大。

基于adb提供的api,scrcpy(screen copy)可以显示并且控制安卓屏幕:

Genymobile/scrcpy - GitHub

adb

下载、解压scrcpy仓库release的压缩包,就可以得到下面这些文件了:

.
├── adb
├── icon.png
├── scrcpy
├── scrcpy-server
├── scrcpy.1

先用usb连接adb调试:

$ ./adb devices # 确保连接成功
List of devices attached
HJS5T19A10009450 device

然后可以开启wifi调试:

./adb tcpip 5555         # 打开wifi调试
sudo ./adb start-server  # 开启本地的adb服务
./adb connect ip:port    # adb Wi-Fi连接调试设备

No route to host

不知道是不是我个人网络环境的问题。

在我的Mac(MacOS 15.4)上,如果不使用sudo开启adb服务,就无法Wi-Fi调试:

报错信息
$ ./adb connect 192.168.31.126
* daemon not running; starting now at tcp:5037
* daemon started successfully
failed to connect to '192.168.31.126:5555': No route to host

确保Wi-Fi调试连接成功:

$ ./adb devices
List of devices attached
192.168.31.126:5555 device

scrcpy

然后就可以像远程桌面一样,用scrcpy远程访问安卓了:

ssh tunnel

我这里搭配了ssh tunnel实现了公网远程访问:

# 远程机器DOM_pc开启了adb server
./adb start-server

在另外一台电脑,通过ssh访问:

# 开启隧道,转发两个端口到远程的DOM_pc
# local  5038 --> remote  5037
# local 27183 --> remote 27183

ssh -CN -L 5038:localhost:5037 -L 27183:localhost:27183 DOM_pc

# 然后就可以用scrcpy连接了
export ADB_SERVER_SOCKET=tcp:localhost:5038 
./scrcpy --video-codec=h265\
    --turn-screen-off\
    --no-audio\
    --force-adb-forward

算是零成本的网络摄像头了:

web camera

可以远程视奸我的室友Counter Strike,哈哈哈哈:

say hi

可惜的是,我的手机是Android 10,不能串流音频。没法听到他压力队友了😭


最后更新: 2025-04-09 15:00:11
创建日期: 2025-04-09 01:25:25

评论