aboutsummaryrefslogtreecommitdiff
path: root/vendor/libadb-android/SERVICES.md
diff options
context:
space:
mode:
authorLena <lena@omega>2026-01-01 00:00:00 +0000
committerLena <lena@omega>2026-06-24 22:14:50 +0300
commiteb0c8951196c637e44daf3c0617b131b997d5d2c (patch)
tree2f83b6a41cee745467e53fc401942b82cea286ea /vendor/libadb-android/SERVICES.md
downloadscrcpy-android-eb0c8951196c637e44daf3c0617b131b997d5d2c.tar.gz
scrcpy-android: mirror an Android device over wireless ADB0.1
Native Java app for Android 12+ that mirrors another Android device over wireless ADB, forwarding video, audio, touch input, and clipboard. Bundles a pinned scrcpy-server.jar and the vendored libadb-android stack. Supports h264/h265/av1 video and raw/opus audio with in-app codec selection. No NDK, no Kotlin. Includes JVM unit tests and a Docker-based emulator e2e rig.
Diffstat (limited to 'vendor/libadb-android/SERVICES.md')
-rw-r--r--vendor/libadb-android/SERVICES.md64
1 files changed, 64 insertions, 0 deletions
diff --git a/vendor/libadb-android/SERVICES.md b/vendor/libadb-android/SERVICES.md
new file mode 100644
index 0000000..dfe9b2b
--- /dev/null
+++ b/vendor/libadb-android/SERVICES.md
@@ -0,0 +1,64 @@
+# Services
+
+LibADB only supports local services which can be requested through `AbsAdbConnectionManager#openStream(String)` or
+`AdbConnection#open(String)`.
+
+- `shell:command arg1 arg2 ...`
+
+ Run `command arg1 arg2 ...` in a shell on the device, and return its output and error streams. Note that arguments
+ must be separated by spaces. If an argument contains a space, it must be quoted with double-quotes. Arguments cannot
+ contain double quotes or things will go very wrong.
+
+- `shell:`
+
+ Start an interactive shell session on the device. Redirect stdin/stdout/stderr as appropriate.
+
+- `dev:<path>`
+
+ Opens a device file and connects the client directly to it for read/write purposes. Useful for debugging, but may
+ require special privileges and thus may not run on all devices. `<path>` is a full path from the root of the
+ filesystem.
+
+- `tcp:<port>`
+
+ Tries to connect to tcp port `<port>` on localhost.
+
+- `tcp:<port>:<server-name>`
+
+ Tries to connect to tcp port `<port>` on machine `<server-name>` from the device. This can be useful to debug some
+ networking/proxy issues that can only be revealed on the device itself.
+
+- `local:<path>`
+
+ Tries to connect to a Unix domain socket `<path>` on the device.
+
+- `localreserved:<path>`/
+ `localabstract:<path>`/
+ `localfilesystem:<path>`
+
+ Variants of `local:<path>` that are used to access other Android socket namespaces.
+
+- `sync:`
+
+ This starts the file synchronization service, used to implement "adb push" and "adb pull". Since this service is
+ pretty complex, it will be detailed in a companion document named SYNC.TXT
+
+- `reverse:<forward-command>`
+
+ This implements the 'adb reverse' feature, i.e. the ability to reverse socket connections from a device to the host.
+ `<forward-command>` is one of the forwarding commands that are described above, as in:
+
+ list-forward
+ forward:<local>;<remote>
+ forward:norebind:<local>;<remote>
+ killforward-all
+ killforward:<local>
+
+ Note that in this case, <local> corresponds to the socket on the device
+ and <remote> corresponds to the socket on the host.
+
+ The output of reverse:list-forward is the same as host:list-forward
+ except that <serial> will be just 'host'.
+
+## Reference
+- [SERVICES.TXT](https://android.googlesource.com/platform/packages/modules/adb/+/6a85258511fb13ebbbedba4e36616db4c6e970fb/SERVICES.TXT)