【记录】将旧手机变成云手机

Last updated on January 1, 2025 pm

准备工作

scrcpy 方案

  • 下载 scrcpy
  • 也可以内网穿透,那么修改下面的 IP 和端口为穿透后的 IP 和端口
  • 使用 scrcpy 目录下的 adb 执行 .\adb.exe connect 192.168.110.105:35555
  • 执行 .\scrcpy.exe --new-display --no-vd-destroy-content

  • 修改 scrcpy-console.bat 如下,则可关闭物理屏幕
1
2
@echo off
scrcpy --turn-screen-off --new-display --no-vd-destroy-content --pause-on-exit=if-error %*

私密远程访问

  • 部署 nps 服务端
  • 下载 npc
  • 下载 gost
  • nps 服务端新增客户端,记录 ip 和 vkey
  • 电脑执行以下命令使手机连接到服务器
1
2
3
4
5
6
7
8
9
10
11
adb disconnect
adb connect 192.168.110.50:35555 # 手机的内网 ip

adb shell
mkdir -p /sdcard/npc
cat > /sdcard/npc/run_npc.sh <<EOF
#!/data/data/com.termux/files/usr/bin/bash
npc -server=<ip>:8025 -vkey=<vkey> -tls_enable=true
EOF

adb push "G:\apk\work\npc" /sdcard/npc
  • 手机 Termux 执行以下命令启动客户端
1
2
3
4
5
mv storage/shared/npc/npc /data/data/com.termux/files/usr/bin/
chmod +x /data/data/com.termux/files/usr/bin/npc
mv storage/shared/npc/run_npc.sh . # 有个点,表示当前目录
chmod +x run_npc.sh
./run_npc.sh
  • nps 服务端新增TCP隧道,记录端口,比如 40992
  • 电脑执行以下命令建立测试用私密连接
1
.\gost.exe -L="tcp://:3554/nps:40992" -F="ss://chacha20-ietf-poly1305:password@nps.blog.com:8337"
  • 电脑执行以下命令连接手机
1
2
3
adb disconnect
adb connect 127.0.0.1:3554
adb devices
  • 确认成功,则关闭测试用私密连接
  • 修改 scrcpy-console.bat 如下
1
2
3
4
5
6
@echo off
start "scrcpy-gost" cmd /c gost -L="tcp://:3554/nps:40992" -F="ss://chacha20-ietf-poly1305:password@nps.blog.com:8337"
timeout /t 3 /nobreak >nul
adb disconnect
adb connect 127.0.0.1:3554
scrcpy -Sw -m 1024 -b 3M --max-fps=6 --pause-on-exit=if-error %*

安卓访问

1
2
adb push "C:\Users\limou\Downloads\DisplayToggle.dex" /sdcard/DisplayToggle.dex
adb shell CLASSPATH=/sdcard/DisplayToggle.dex app_process / DisplayToggle 0
  • 手机 Termux 执行以下命令开启前台熄屏功能
1
2
3
4
5
6
cat > /data/data/com.termux/files/usr/bin/display.sh <<EOF
#!/data/data/com.termux/files/usr/bin/bash
rish -c "CLASSPATH=/sdcard/DisplayToggle.dex app_process / DisplayToggle 0"
EOF
chmod +x /data/data/com.termux/files/usr/bin/display.sh
display.sh
  • 之后主力手机通过 scrcpy-android 连接到旧手机后,termux 执行 display.sh 即可熄屏

Droidvnc 方案

1
adb install -t 'droidvnc-ng-2.8.0.apk'
  • 关闭 droidvnc-ng 电池优化,并在自启动里手动管理允许所有启动方式
  • PackageViewer 获取 droidvnc-ng 的包名为 net.christianbeier.droidvnc_ng
1
2
3
4
5
6
7
8
9
10
11
12
13
# 查看 droidvnc_ng 的所有服务,自行判断哪个是无障碍服务
# 比如 `net.christianbeier.droidvnc_ng/.InputService`
# 一般是有 `android.permission.BIND_ACCESSIBILITY_SERVICE` 权限的那个
adb shell dumpsys activity services net.christianbeier.droidvnc_ng
# 或者手动开启一次无障碍服务,然后直接找到对应的服务
# 比如 `net.christianbeier.droidvnc_ng/net.christianbeier.droidvnc_ng.InputService`
adb shell settings get secure enabled_accessibility_services
# 执行下面的命令进行保活
adb shell pm grant net.christianbeier.droidvnc_ng/net.christianbeier.droidvnc_ng.InputService android.permission.BIND_ACCESSIBILITY_SERVICE
adb shell pm grant net.christianbeier.droidvnc_ng/net.christianbeier.droidvnc_ng.InputService android.permission.WRITE_SECURE_SETTINGS
adb shell settings put secure enabled_accessibility_services net.christianbeier.droidvnc_ng/net.christianbeier.droidvnc_ng.InputService
# 验证无障碍服务打开情况
adb shell settings get secure enabled_accessibility_services
  • 浏览器访问 http://192.168.110.105:5800/vnc.html?autoconnect=true&autoscale=1&show_dot=true&port=5900 即可
  • 内网穿透后可远程使用

附加 变NAS


【记录】将旧手机变成云手机
https://hexo.limour.top/convert-old-phone-to-cloud-phone
Author
Limour
Posted on
December 25, 2024
Updated on
January 1, 2025
Licensed under