This is an Android VNC server using contemporary Android 5+ APIs. It therefore does not require root access. Forked from https://github.com/bk138/droidVNC-NG
- Download the application from the github releases section or build yourself
- Get it all the permissions required.
- Set a good password and consider turning the
Start on Boot
off. - Connect to your local Wi-Fi. For accepting a connection your device should be connected to some Local Area Network that you can control, normally it is a router. Connections via data networks (i.e. your mobile provider) are not supported.
- Click
Start
and connect to your device. - If keyboard is required, please provide root/SU access to the application via a root solution (Magisk, KernelSU etc). If Progisk is being used, add KnoxVNC to the
Superuser Isolation
as an exemption for granting root access.
- Ctrl-Shift-Esc triggers 'Recent Apps' overview
- Home/Pos1 acts as Home button
- Escape acts as Back button
- Supports full keyboard input via ADB input wrapper service (requires superuser access)
adb shell am start-foreground-service \
-n com.appknox.vnc/.VNCService \
-a com.appknox.vnc.ACTION_START \
--ei com.appknox.vnc.EXTRA_PORT 5900
adb shell am start-foreground-service \
-n com.appknox.vnc/.VNCService \
-a com.appknox.vnc.ACTION_STOP
- After cloning the repo, make sure you have the required git submodules set up via
git submodule update --init
. - Then simply build via Android Studio or
gradlew
.
-
Requires at least Android 7.
-
Since Android 10, the permission to access the screen contents has to be given on each start and is not saved. You can, however, work around this by installing ADB (or simply Android Studio) on a PC, connecting the device running droidVNC-NG to that PC and running
adb shell cmd appops set com.appknox.vnc PROJECT_MEDIA allow
once. -
You can also use adb to manually give input permission prior to app start via
adb shell settings put secure enabled_accessibility_services com.appknox.vnc/.InputService:$(adb shell settings get secure enabled_accessibility_services)
. -
Persistant notification will be displayed when the application is running the VNC service as it uses
startForeground()
method which needs a handle to a notification object (requirement by android).