ADB Remote Control
ADB Remote Control allows you to control your adb-connected device from your PC. It enables clicks and drags with the mouse and normal keyboard inputs.
To show the image of the phone's screen, a screenshot is taken regularly. The rate can be configured (see Config).
This project was inspired by adbcontrol and Adb-Remote-Screen, none of which were easy enough for me to adapt to my needs. It was completely written from scratch.
How to Run
Download the latest release jar.
From the command line run java -jar adb-remote-control.jar
Compiling
Go into the src/
directory and execute javac de/oberien/adbremotecontrol/Main.java
.
To build the .jar
file, after compiling, execute
jar -cvfe adb-remote-control.jar de.oberien.adbremotecontrol.Main **/*.class
.
Depending on your shell, you might need to set the correct glob options.
Functionality
Mouse:
- Left mouse button click for tapping on android
- Left mouse button drag for swiping on android
- Right mouse button click for long-tap on android
- Right mouse button drag for draganddrop on android
Keyboard:
- All ASCII characters from (including) 32 to (excluding) 127 are sent as text. These are all printable ascii characters including lowercase, uppercase, numbers and normal special chars.
- Return (Enter) is sent.
- Pressing
Esc
emulates aBack
key event. - Pressing
Insert
emulates the androidHome
key. - Pressing
Menu
emulates aPower
key press. - The following keys work as expected during text input:
Backspace
andDel
Up
,Down
,Left
andRight
Home/Pos1
andEnd
Page Up
andPage Down
Ctrl+d
emulates 500Backspace
presses and can be used to quickly erase a large text.Ctrl+v
pastes the clipboard as text.
Config
If needed you can create a config file called config.properties
. The format of the file is imageFormat=png
.
Currently the following keys are supported:
adbPath
: The path to theadb
binary. Defaults to just callingadb
without a path.timeout
: The time between having received a screenshot and taking the next one in ms. Defaults to 1 ms.imageFormat
:png
orjpg
. JPG ist faster, but might be of worse quality. Defaults tojpg
.
Building
To manually build and run this project, go into the src
directory and execute
javac de/oberien/adbremotecontrol/Main.java
java de.oberien.adbremotecontrol.Main
Troubleshooting
Signal
In Signal screenshots are disabled by default. This means that while having Signal open, the displayed image of the phone won't change. Follow this tutorial to enable screenshots and therefore make ADB Remote Control work with Signal.
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.