天天学习,好好向上!

使用ws-scrcpy在一台安卓手机上远程控制家中备用安卓机

前提条件:

1.备用安卓机已root。
2.家中路由拥有公网IP,并支持端口转发。或自行配置内网穿透,如zerotier。

具体需要软件:

1.备用安卓机:tasker。
2.控制用安卓机:termux,chrome浏览器。

操作步骤:

1.备用安卓机设置开机开启无线调试:

安装tasker,授予所需的所有权限。配置文件选项卡,点加号新建,输入任意名字,选择事件,系统,设备启动,返回,新建任务,输入任意名字,点加号新建,代码,运行shell命令,命令框内输入

stop adbd

都勾选使用root,遇到错误后继续运行任务。点返回,然后同样步骤依次新建以下两句命令

setprop service.adb.tcp.port 5555
start adbd

返回,点击上方对号即可。
重启手机,测试能否顺利打开无线调试,并将端口设置为5555。

2.控制机安装ws-scrcpy

安装termux,进入termux使用以下命令安装以下所需包

pkg install android-tools nodejs git python build-essential
npm install -g node-gyp

使用以下命令安装ws-scrcpy

git clone https://github.com/NetrisTV/ws-scrcpy.git
cd ws-scrcpy
#不使用下面这条命令,会报no member named 'AccessorSignature' in namespace 'v8'错误
npm install [email protected] --save
npm install

即可。

3.完成备用机与控制机的配对

在备用机上打开开发者选项,无线调试,打开开关,使用配对码进行配对,会出现地址端口和配对码。在控制机上的termux里输入

adb pair 地址:端口 配对码

即可完成配对。

4.控制机通过adb链接备用机

在控制机的termux上输入

adb connect 备用机IP

即可连接备用机,可以输入adb devices查看连接情况。如果为device说明连接成功。

5.通过ws-scrcpy控制备用机

在控制机的termux上进入ws-scrcpy目录
输入npm start稍等片刻,出现

Listening on: http://localhost:8000……

后说明启动成功,把termux置入后台。打开chrome浏览器,输入http://localhost:8000即可打开,浏览器页面上点击Broadway.js、H264 Converter、Tiny H264、WebCodecs任意一项进入远程控制。
后期可根据需要将备用机在路由器上分配的ip固定,并转发5555端口到WAN上,或自行配置内网穿透如zerotier,实现远程访问家中备用机。


本人备用机机型为红米note5,刷入第三方安卓13系统。控制机为小米10,MIUI13开发版 安卓12系统。测试通过!

2024年3月22日后记:最近使用时发现ws-scrcpy用不了了,就在线更新了下代码,重装一下,发现又引入了两个新问题,解决方法如下:
问题一:npm install -g node-gyp安装报错:Undefined variable android_ndk_path in binding.gyp
解决办法是:建立~/.gyp/include.gypi文件,.gyp目录需要手动建立。内容为
{
'variables': {
'android_ndk_path': ''
}
}
保存后重新用npm install -g node-gyp安装即可。
问题二:执行npm install时,[email protected]报错The current platform is not supported
解决方法是:使用
pkg install yarn
命令来安装yarn,然后用
yarn add puppeteer
命令安装缺失的puppeteer即可。

本页的评论功能已关闭