ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

droidVNC-NG 使用教程:免 Root 安卓 VNC 服务器安装配置与远程控制方法

droidVNC-NG 使用教程:免 Root 安卓 VNC 服务器安装配置与远程控制方法 droidVNC-NG 使用教程免 Root 安卓 VNC 服务器安装配置与远程控制方法droidVNC-NG 使用教程安卓免 Root VNC 服务器的下载安装、权限与密码配置、局域网与公网远程控制、浏览器 noVNC 连接、反向 VNC 及常见问题解决方法关键词droidVNC-NG、安卓 VNC 服务器、Android 远程控制、免 Root、VNC 远程桌面教程、局域网远程协助、反向 VNC、noVNC 浏览器控制摘要本文介绍开源安卓 VNC 服务器 droidVNC-NG 的完整使用方法包括 F-Droid / Google Play 下载安装、权限与密码配置、局域网连接、浏览器直接控制、公网端口转发、反向 VNC 与中继器接入、Intent 自动化接口并整理了黑屏、无障碍输入失效、悬浮按钮等常见问题的解决方法帮你把「用电脑控制安卓手机」一次配好。下载地址https://dooo.fun/archives/9895正文大家好 这里是「代码简单说」这篇文章主要分享一下 droidVNC-NG 这款安卓 VNC 服务器的安装方法和使用方法。场景很常见手机在客厅充电人坐在电脑前想回条消息测试机摆在架子上想直接在工位上点屏幕看效果或者想远程帮家人处理手机上的设置。装一个 VNC 服务器就能解决——电脑上用 VNC 客户端直接看到手机画面、操作手机。droidVNC-NG 就是这样一款工具免 Root支持 Android 7 及以上系统完全开源。这篇文章把安装、配置、四种连接方式和常见问题一次讲清楚。一、droidVNC-NG 是什么droidVNC-NG项目地址https://github.com/bk138/droidVNC-NG 是一个开源的安卓 VNC 服务器应用基于 Android 7 的现代 API 实现不需要 Root 权限。名字是为了致敬老项目 droidVncServerNG 即「新一代」。主要功能远程查看在电脑上实时查看安卓设备屏幕支持画面缩放网络一般时可以缩放来换流畅度。远程控制用电脑的鼠标和键盘直接操作安卓设备需开启应用的无障碍服务。键盘输入支持 Latin-1 字符集和常用特殊按键Android 14 及以上可对任意控件输入旧系统只能输入到 EditText 文本框。剪贴板互通电脑复制文本可以直接粘贴到手机手机上在可编辑文本框中选中文本会自动同步到电脑剪贴板也可以通过系统「分享」菜单手动把文本发给 droidVNC-NG 转出去。文件传输配合 Windows 版 TightVNC Viewer 1.3.x可以在电脑和手机之间互传文件。浏览器直接控制内置 noVNC 客户端电脑打开浏览器输入地址就能查看和控制不用安装任何 VNC 软件。开机自启设备启动后自动运行服务器Android 11 及以上在 kiosk 桌面和锁定任务Lock Task模式下同样可用适合设备管理场景。反向连接不用在路由器上开端口设备主动连到「监听中的 VNC 查看器」或 UltraVNC 风格的 Mode-2 中继器。自动发现通过 Zeroconf/Bonjour 在局域网内自动发现设备。其他密码保护、自定义端口、JSON 预置默认配置 / 托管配置下发、多客户端独立指针显示。典型使用场景开发调试、设备管理、远程协助、多设备集中操作。日常使用问题可以到项目的 Gitter 社区gitter.im/droidVNC-NG/community提问Bug 和功能建议走 GitHub Issues。二、准备工作项目要求系统版本Android 7.0 及以上安装来源F-Droid 或 Google Play网络环境设备与电脑在同一局域网公网/反向连接见后文项目地址https://github.com/bk138/droidVNC-NG下载地址https://dooo.fun/archives/9895两个商店包名相同任选其一安装即可。安装后会用到两个关键权限先说清楚屏幕内容访问屏幕投射远程查看必须。Android 10 及以上默认每次启动都要确认一次永久放行的方法见常见问题第 1 条。无障碍服务InputService远程控制鼠标键盘输入必须开启一次后保持即可。三、安装与初始设置1. 安装应用从上面表格任选一个商店安装打开应用后按界面提示把所需的权限逐个授完包括屏幕录制媒体投射权限。2. 设置密码在应用主界面设置一个安全的 VNC 密码。两点说明不设密码意味着同一网络里任何人都能连上你的手机。如果要用 macOS 自带的「屏幕共享」客户端连接必须设置密码这是它的硬性要求。3. 开机自启按需开关个人日常用的手机建议把Start on Boot关掉避免每次开机都跑一个监听服务无人值守、设备管理场景则建议打开。四、配置方法1. 端口配置默认端口 5900。有端口冲突或需要跑多个实例时可以在设置里改成自定义端口。2. 通过 JSON 预置默认配置droidVNC-NG 支持用 JSON 文件预置偏好设置的默认值用户没有手动改过的项会使用预置值。也可以通过 Android 的托管配置Managed Configurations统一下发适合企业批量管理设备。具体字段见官方文档doc/Preseed-Preferences.md。3. 通过 Intent 接口远程启停应用提供 Intent 接口可以从其他应用或自动化工具MacroDroid、Automate、Tasker 等按事件启动/停止 VNC 服务器Intent 里还能传EXTRA_RECONNECT_TRIES等参数。详细说明见官方文档doc/Intent-Interface.md。五、使用方法1. 局域网连接最常用手机和电脑连到同一个路由器下的网络。手机上打开 droidVNC-NG点Start界面会显示设备的 IP 和端口默认 5900同时设备会通过 Zeroconf 在局域网内广播。电脑上打开任意 VNC 客户端RealVNC Viewer、TightVNC Viewer、TigerVNC 都可以输入设备IP:5900输入密码连接。2. 浏览器直接控制免装客户端应用内置 noVNC 客户端。在浏览器地址栏输入主界面显示的 Web 地址设备 IP Web 端口就能在网页里直接查看和控制手机电脑上什么都不用装。3. 常用键盘快捷键连接后可以用快捷键触发安卓的系统操作快捷键功能Ctrl-Shift-Esc打开「最近任务」概览Home / Pos1相当于 Home 键End相当于电源键Escape相当于返回键Ctrl-Alt-PageUp增大音量Ctrl-Alt-PageDown减小音量4. 从公网连接端口转发需要从外网连回家或公司里的设备时要在路由器上做端口转发浏览器打开路由器管理地址常见为 192.168.1.1并登录。找到「端口转发 / Port Forwarding」一般在「网络 - 防火墙 - 端口转发」下面。新建规则以 OpenWRT 固件为例名称VNC forwarding协议TCP源区域wan有的固件叫 internet、modem表示外部来源外部端口5900或你在应用里改的端口目标区域lan表示本地网络内部 IP填设备的固定内网 IP。设备地址可能变化建议在路由器上做 DHCP 绑定填「任意」不安全内部端口与外部端口一致保存应用部分路由器需要重启生效。查询自己的公网 IP用公网IP:5900连接设备。安全提示droidVNC-NG 目前除密码交换外通信不加密公网直连有风险。能走局域网就走局域网外网优先考虑下面的反向 VNC / 中继器方案。5. 反向 VNC不开端口网络在 NAT 后面、没有公网 IP、又不想动路由器时用这个方案应用里把 VNC 端口留空此时管理界面会显示服务器不监听入站连接。选择「连接到监听中的查看器」Connect to a listening viewer或「连接到中继器」Connect to a repeaterUltraVNC 风格 Mode-2发起出站连接。可选填「最大重连次数」Max. reconnect tries留空默认 0即不重连。6. Intent 接口自动化结合 Tasker 这类自动化工具可以实现「到家自动开、出门自动关」这类玩法也可以在自己的 App 代码里按事件拉起服务器参考doc/Intent-Interface.md。六、常见问题1. 每次启动都要重新授权屏幕录制权限Android 10 开始对屏幕内容访问有隐私限制默认每次启动都要确认。可以连接电脑后用 adb 授权一次永久放行adb shell cmd appopssetnet.christianbeier.droidvnc_ng PROJECT_MEDIA allow2. 能看到画面但控制不了确认系统设置里已给 droidVNC-NG 开启无障碍服务InputService。也可以用 adb 提前授权adb shell settings put secure enabled_accessibility_services net.christianbeier.droidvnc_ng/.InputService:$(adb shell settings get secure enabled_accessibility_services)这条命令里的$(...)是 shell 变量替换Windows 下可以先执行adb shell settings get secure enabled_accessibility_services拿到已有值再把值拼到net.christianbeier.droidvnc_ng/.InputService:后面执行put命令。另外注意旧版安卓上键盘输入只能进 EditText 文本框Android 14 及以上才支持对任意控件输入。3. 连接后画面黑屏权限都给全了还是黑屏大概率是设备对 MediaProjection API 的支持有问题。可以装个第三方录屏应用如 ScreenRecorder测试如果它也录不了屏说明这台设备不支持 MediaProjection 投屏Android-x86 系统就属于这种情况。这不是 droidVNC-NG 的 Bug。4. 开启无障碍后屏幕出现悬浮按钮这是系统无障碍设置里的「快捷方式」开关导致的。进入系统无障碍设置把该应用的快捷方式选项关掉即可。5. Android TV 上鼠标不生效部分电视的 ROM 没有把鼠标输入路由进去这是厂商系统的问题。替代方案用 VNC 客户端里的方向键和 Enter 键操作电视界面。6. 副屏能不能投不能。受系统 MediaProjection 限制副屏secondary displays不受支持。7. Android 16 上部分应用接收不到输入从 Android 16 开始谷歌加强了无障碍服务相关的反恶意软件安全策略受此限制的应用将无法接收来自 droidVNC-NG 的输入控制这是系统层面的变化。8. 有线网络下 VNC 会话卡死个别带以太网口的板卡设备在会话中会出现奇怪的挂起把网卡速率调低可以绕过具体方法可以参考项目 Issue #121 里的讨论。9. 想自己从源码编译gitclone https://github.com/bk138/droidVNC-NGcddroidVNC-NGgitsubmodule update--init之后用 Android Studio 打开构建或直接用gradlew构建前提是本机已装好 Android 开发环境。10. 安全方面要注意什么一定设置密码。公网直连不加密能走局域网就走局域网外网优先反向 VNC / 中继器。个人手机建议关闭开机自启。七、总结这篇文章介绍了 droidVNC-NG 的下载安装、权限与密码配置以及四种连接方式局域网直连、浏览器 noVNC 控制、公网端口转发、反向 VNC / 中继器还整理了 adb 永久授权、黑屏、无障碍输入等常见问题的处理方法。它把「免 Root 的安卓远程桌面」做得比较完整从个人远程协助到批量设备管理都有对应的功能点。更多细节可以查阅项目仓库的文档和 Issues。以上就是 droidVNC-NG 的完整使用教程按照上面的步骤操作即可完成安装和远程连接。如果遇到其他问题可以结合具体报错信息或到项目 Issues 页面查找解决办法。
返回列表