ya-webadb
ya-webadb copied to clipboard
Support compression in sync push/pull
Android 11 added support for Brotli compression in sync push/pull, Android 12 further added lz4 and zstd support. Using compression can result in up to 2x transfer speed.
Algorithms:
- [ ] Brotli https://android-review.googlesource.com/c/platform/system/core/+/1250677
- [ ] lz4 https://android-review.googlesource.com/c/platform/system/core/+/1276917
- [ ] Zstd https://android-review.googlesource.com/c/platform/system/core/+/1319091
From https://android-review.googlesource.com/c/platform/system/core/+/1276917, pull speed in MB/s:
none brotli lz4
USB 3.0 120 110 190
USB 2.0 38 75 63
No pure-JS implementations of all three algorithms were found on NPM. Need to create them ourselves.
Android 12 also added a dry-run flag in push/pull for testing. Shouldn't be useful in real situations: https://android-review.googlesource.com/c/platform/system/core/+/1276918